MySQL 创建唯一索引时,解决 Duplicate entry for key 问题

使用数据库工具,创建唯一索引:

create unique index diary_code_uindex on diary (code);

创建索引时遇到报错:

Duplicate entry '' for key 'diary_code_uindex'

这是因为该字段的数据中,存在了空字符串,所以创建的时候报了这个错误。

唯一索引允许存在多个 null, 但对于空字符串是进行检测的,不允许存在重复的“空字符串”,所以出错了。

把该字段的默认值改为 null, 再把空字符串改为 null,即可成功创建。

本文收录于专栏
一些 MySQL 使用过程中的记录