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

qc6wkl3g  于 2021-06-24  发布在  Mysql
关注(0)|答案(3)|浏览(326)

我有一个列名 Token 我正在生成随机数并将它们保存在令牌中,但有时它会保存重复的令牌,所以我想使其唯一。
我想知道它是否会影响现有的记录。

hgtggwj0

hgtggwj01#

ALTER table Student add primary key (studentID)

使用alter命令编辑表的ddl,然后通过指定列向其添加主键。如果主键已经存在,那么首先必须在定义另一个pk之前删除它-

ALTER table STUDENT drop CONSTRAINT <constraint_name>
xe55xuns

xe55xuns2#

试着这样做

ALTER table_namePersons ADD UNIQUE (Token);

完成此操作后,如果您尝试插入一个重复的密钥,您将有一个错误并捕获它,您可以生成另一个令牌

nbnkbykc

nbnkbykc3#

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

相关问题