首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用可以为空的日期在mysql中创建唯一索引

问如何使用可以为空的日期在mysql中创建唯一索引
EN

Stack Overflow用户
提问于 2014-02-14 03:30:51
回答 1查看 503关注 0票数 0

我的表上有一个唯一的索引,唯一的索引是在所有4列上。

代码语言:javascript
复制
 firstname VARCHAR NOT NULL
 lastname VARCHAR NOT NULL
 dateofbirth DATE NULL
 reference VARCHAR NULL

据我所读(最近发现),mysql不对空值的列强制执行唯一性。

在我的例子中,名字和姓氏区域总是填充的,但是出生日期和引用是可选的,默认设置为null。

我已经将引用列从NULL更改为NULL默认值'',但是在不实际将列类型更改为VARCHAR的情况下,如何才能对出生日期进行相同的操作?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-02-14 03:53:11

可以为日期设置默认值:

代码语言:javascript
复制
ALTER TABLE tablename MODIFY dateofbirth DATE NOT NULL DEFAULT '0000-00-00';

这样做将生成一个警告,您可以忽略该警告:

代码语言:javascript
复制
Data truncated for column 'dateofbirth' at row xyz

更改之后,以前是NULL的所有值现在都设置为新的默认值。

或者,查找另一列,该列将始终被填充,并且可以区分两个同名和同姓的人。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21770313

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档