【发布时间】:2018-06-29 09:00:17
【问题描述】:
我有一个列名Token,我正在生成随机数并将它们保存在令牌中,但有时它会保存重复的令牌,所以我想让它唯一。
我想知道它会影响现有记录。
【问题讨论】:
-
你用php和sql交互了吗?
-
@VitoFerrulli 是的
标签: mysql sql primary-key ddl unique-key
我有一个列名Token,我正在生成随机数并将它们保存在令牌中,但有时它会保存重复的令牌,所以我想让它唯一。
我想知道它会影响现有记录。
【问题讨论】:
标签: mysql sql primary-key ddl unique-key
如果您尝试向包含非唯一值的列添加唯一约束(或主键约束),alter 语句将失败。您需要先更新列,使所有值都是唯一的(或删除重复项),然后更改表。
【讨论】:
ALTER table Student add primary key (studentID)
使用 Alter 命令编辑表的 DDL,然后通过指定列向其添加主键。 如果主键已经存在,那么首先你必须在定义另一个 PK 之前删除它 -
ALTER table STUDENT drop CONSTRAINT <constraint_name>
【讨论】:
试试这个
ALTER table_namePersons ADD UNIQUE (Token);
执行此操作后,如果您尝试插入重复的密钥,您将遇到错误并捕获它您可以生成另一个令牌
【讨论】: