cari

Rumah  >  Soal Jawab  >  teks badan

mysql UNIQUE的条件

ALTER TABLE  `table` ADD  `unionid` VARCHAR( 255 ) NOT NULL

然后设置唯一索引

ALTER TABLE  `table` ADD UNIQUE (
`unionid`
)

提示

1062 - Duplicate entry '' for key 'unionid'

请问这是为什么呢?

伊谢尔伦伊谢尔伦2770 hari yang lalu715

membalas semua(2)saya akan balas

  • PHP中文网

    PHP中文网2017-04-17 15:34:49

    第一句SQL:你给table表增加了unionid列,并且是非空字符串,所以初始值是空字符串''

    第二句SQL:你给table表的unionid列建立唯一约束,但唯一约束的前提是unionid列的值不重复,然而unionid列的所有值都是空字符串'',所以会报Duplicate entry '' for key 'unionid'

    解决方法:先把unionid的值修正为不重复后再给该列添加唯一约束。

    balas
    0
  • PHP中文网

    PHP中文网2017-04-17 15:34:49

    直接进数据库操作啊,你添加索引就会有命令提示,这样不就知道哪里错了

    balas
    0
  • Batalbalas