如果不存在而不使列唯一,则插入

时间:2017-02-27 05:17:20

标签: mysql

我正在寻找这个问题的答案很多天。 stackoverflow和其他站点上有一些我真的不明白的答案。基本上我只需要在特定列的单元格值不存在时插入。

Ex:见下表,如果它们有一些重复的名字,那就像'sandy'和'edward'一样。但对于像'威尔逊'这样的名字,我不想插入。我不想让名称列独一无二。

enter image description here

注意:请不要提供任何复杂的答案或程序性查询,应该很容易记住。

3 个答案:

答案 0 :(得分:0)

您应该创建另一个列/表来确定哪个名称不能重复

然后,您选择该名称是否可以从该表重复,然后根据结果插入

答案 1 :(得分:0)

您可以在HTML FORM上制作checkbox

您填写表单值

如果该复选框checked,那么在插入数据库之前,它将检查是否存在然后没有插入。如果不存在则插入。

如果未选中该复选框,则盲目插入

答案 2 :(得分:0)

尝试以下方法:

INSERT INTO info (id, name)
SELECT null, 'wilson' FROM any_other_table_name 
  WHERE NOT EXISTS (
   SELECT name FROM info WHERE name = 'wilson'
) ;

如果多次输入,则不会插入。