【问题标题】:Insert 2 values into mysql table only if both values are unique together仅当两个值一起唯一时才将 2 个值插入 mysql 表
【发布时间】:2016-01-13 08:02:56
【问题描述】:

我希望只有在两个字段都是唯一的情况下才能将数据插入到 mysql 表中。例如:

ID   VALUE
__   _____
1    abc  //INSERT
2    abc  //INSERT
3    def  //INSERT
1    def  //INSERT
2    abc  //INSERT SHOULD NOT BE PROCESSED

最有效的方法是什么,并且只使用 mysql。

【问题讨论】:

    标签: mysql


    【解决方案1】:

    您需要创建唯一索引或约束:

    create unique index unq_t_id_value on t(id, value);
    

    这将防止重复的值被插入到表中。

    【讨论】:

      【解决方案2】:

      你可以做一个复合键(多列)。

      Create table myTable(
      ...
      PRIMARY KEY (ID, VALUE)
      )
      

      当你尝试插入时

      2    abc 
      

      您将收到重复输入错误消息,如果您无法创建表you can ALTER TABLE like this

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-09-11
        • 1970-01-01
        • 1970-01-01
        • 2013-06-25
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多