我的表上有一个唯一的索引,唯一的索引是在所有4列上。
firstname VARCHAR NOT NULL
lastname VARCHAR NOT NULL
dateofbirth DATE NULL
reference VARCHAR NULL据我所读(最近发现),mysql不对空值的列强制执行唯一性。
在我的例子中,名字和姓氏区域总是填充的,但是出生日期和引用是可选的,默认设置为null。
我已经将引用列从NULL更改为NULL默认值'',但是在不实际将列类型更改为VARCHAR的情况下,如何才能对出生日期进行相同的操作?
发布于 2014-02-14 03:53:11
可以为日期设置默认值:
ALTER TABLE tablename MODIFY dateofbirth DATE NOT NULL DEFAULT '0000-00-00';这样做将生成一个警告,您可以忽略该警告:
Data truncated for column 'dateofbirth' at row xyz更改之后,以前是NULL的所有值现在都设置为新的默认值。
或者,查找另一列,该列将始终被填充,并且可以区分两个同名和同姓的人。
https://stackoverflow.com/questions/21770313
复制相似问题