【问题标题】:Set as unique a couple of fields in mysql在mysql中将几个字段设置为唯一
【发布时间】:2013-11-18 18:16:17
【问题描述】:

我想在 mysql 中将几个字段设置为唯一

例如: 字段1 = 10 字段2 = 30

我不希望这两个值重复。如何在 phpmyadmin 中设置?

谢谢

【问题讨论】:

    标签: mysql phpmyadmin unique-key


    【解决方案1】:
    ALTER IGNORE TABLE mytable
    ADD UNIQUE (field1 );
    
    ALTER IGNORE TABLE mytable
    ADD UNIQUE (field2 );
    

    或者如果你想要一个组合唯一索引:

    ALTER IGNORE TABLE mytable
    ADD UNIQUE (field1,field2 )
    

    【讨论】:

    • 您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在第 1 行 0.000 秒的“ALTER IGNORE TABLE mytable ADD UNIQUE (field1,field2)”附近使用正确的语法
    【解决方案2】:
    ALTER TABLE mytable ADD UNIQUE my_unique_index(field1,field2);
    

    解释:

    从 MySQL 5.7.4 开始,ALTER TABLE 的 IGNORE 子句被删除,并且 它的使用会产生错误。

    来源:http://dev.mysql.com/doc/refman/5.7/en/alter-table.html

    一个 UNIQUE 约束包含一个索引定义

    来源:MySQL: UNIQUE constraint without index

    【讨论】:

    • 请在你的回答中付出一些努力。
    • 对不起,我认为这完美地回答了这个问题,我不知道我必须解释为什么其他答案可能是错误的和不相关的。所以我会更新。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-25
    • 2016-09-06
    • 2012-09-05
    • 1970-01-01
    • 2013-04-30
    • 2011-06-08
    相关资源
    最近更新 更多