MYSQL插入唯一行

时间:2015-12-05 00:55:24

标签: mysql

我的数据库中有一个包含以下列的表

IDNumber  //auto incremented ID
ItemCategory  //unique entry
description    //typically blank, not unique

我希望此表中列出的类别是唯一的,但描述并不总是唯一的。

我已尝试使用ON DUPLICATE KEY UPDATE以及MYSQL的unique功能,但如果我的描述也是唯一的,我只能使用它。

关于我能做什么的任何想法?

2 个答案:

答案 0 :(得分:0)

如果您希望描述是唯一的,那么在该列上添加唯一约束/索引:

create index unq_table_description on table(description);

然后,数据库将对该列强制执行唯一性,从而防止违反约束的插入和更新。

答案 1 :(得分:0)

我认为你应该创建一个带有自动增量键列的新表,一个带有“唯一”键和描述的列。在此表中,“ItemCategory”可以根据您有“描述”条目的次数保存很多次。然后对两个表的“ItemCategory”列使用JOIN函数,您可以检索每个“唯一”项的所有描述。