主键和唯一键约束与唯一索引的区别
唯一的区别就是:前者:不允许有空值
后者:可以有一个空值
对后者实验:
$ db2 "create table nnull(aaa varchar(7))" --建表 DB20000IThe SQL command completed successfully.$ $ db2 "create unique index x on nnull(aaa)" --建索引DB20000IThe SQL command completed successfully.$ $ db2 "insert into nnull values('')" --insert空值DB20000IThe SQL command completed successfully.$ db2 "commit"DB20000IThe SQL command completed successfully.$ db2 "insert into nnull values('')" --再insert空值就失败了DB21034EThe command was processed as an SQL statement because it was not a valid Command Line Processor command.During SQL processing it returned:SQL0803NOne or more values in the INSERT statement, UPDATE statement, or foreign key update caused by a DELETE statement are not valid because the primary key, unique constraint or unique index identified by "1" constrains table "DB2INST.NNULL" from having duplicate values for the index key.SQLSTATE=23505
页:
[1]