mysql 添加unique 索引

建表的时候没有给数据库一个字段加上unique 索引,并且设置为 not null ,所以当这个字段没有数据时候,
数据库默认为它添加 0 ,现在我要为它添加个unique 索引 是失败的,因为0重复...
我想问,如果要为一个数据字段设置 unique 约束的话,一定得让他可以为空, 还是我的操作有误呢?
望指教。

阅读 4.7k
3 个回答

前提:

  1. unique只能唯一

  2. not null 不可为空

解决:

  1. 手动修改可以为空,然后全部数据置null,再添加unique索引

  2. 手动更新该字段值为1~...不重复的值,然后再添加unique索引

  3. 清空数据,重新再加unique索引

  4. 重新建表

==所以你明白了吧

ALTER TABLE table_name ADD UNIQUE ( column )

保证修改列的数据不重复,或者清空数据即可。

默认为NULL

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进