我们可以将现有列用作主键吗?

时间:2018-06-29 09:00:18

标签: mysql sql primary-key ddl unique-key

我有一个列名Token,我正在生成随机数并将其保存在令牌中,但有时它会保存重复的令牌,因此我想使其唯一。

我想知道它将影响现有记录

3 个答案:

答案 0 :(得分:2)

如果您尝试向包含非唯一值的列添加唯一约束(或主键约束),则alter语句将失败。您需要首先更新该列,以便所有值都是唯一的(或删除重复的值),然后更改表。

答案 1 :(得分:-1)

sc.next()

使用Alter命令编辑表的DDL,然后通过指定列为其添加主键。 如果主键已经存在,那么首先必须先删除它,然后再通过-

定义另一个PK。
ALTER table Student add primary key (studentID)

答案 2 :(得分:-2)

尝试这样做

ALTER table_namePersons ADD UNIQUE (Token);

完成此操作后,如果您尝试插入重复的密钥,则会出现错误并捕获到该错误,您可以生成另一个令牌