【发布时间】:2012-03-14 06:06:49
【问题描述】:
我有一个 4 列的 MySQL 表
Column Type Null Default
----------------------------------
id int(11) No None AUTO_INCREMENT
col1 int(11) No None
col2 int(11) No None
col3 varchar(20) Yes Null
我已经用 col1、col2、col3 创建了一个索引,因为我不想要重复的行。我知道 NULL 值被认为是不同的,因此该表接受重复的行。
最好的选择是什么,这样我就可以拥有 col1、col2、col3 的唯一值的行?
【问题讨论】:
-
您仍然会得到重复的 erow,因为空值不计入索引的唯一性决策。所以两个或多个带有
(null, 1, 2)的记录是完全可能的。