MySQL中有唯一性约束的列能为空。
唯一约束保证在一个字段或者一组字段里的数据与表中其它行的数据相比是唯一的,允许为空,但只能出现一个空值。对字段使用了Unique约束,可以当主键在数据库中使用。约束名的命名规则推荐采用“约束类型_约束字段”这样的形式。
扩展资料:
当唯一约束和主键都强制唯一性时,如果满足下列条件,则应将唯一约束而不是主键约束附加到表上:
1、希望在列或列的组合中强制唯一性。可将多个唯一约束附加到表,但是只能将一个主键约束附加到表。
2、希望在允许空值的列中强制唯一性。可将唯一约束附加到允许空值的列,但是只能将主键约束附加到不允许空值的列。当将唯一约束附加到允许空值的列时,请确保在约束的列中最多有 一行包含空值。
最可能的原因就是插入方法错误。
如有这样一个表,其中字段2允许为空:
字段1 字段2 字段3
那么可以写语句:
insert into 表名( 字段1,字段2,字段3) values (1,null,1)如果这样写,就会有错误:
insert into 表名( 字段1,字段2,字段3) values (1,,1)所以,如果插入空的时候一定要写上null。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)