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

问题描述 投票:0回答:3

我有一个列名称Token,我正在生成随机数并将其保存在令牌中,但有时它会保存重复的令牌,所以我想让它独一无二。

我想知道它是否会影响现有记录。

mysql sql primary-key ddl unique-key
3个回答
2
投票

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


-1
投票
ALTER table Student add primary key (studentID)

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

ALTER table STUDENT drop CONSTRAINT <constraint_name>

-2
投票

试试这个

ALTER table_namePersons ADD UNIQUE (Token);

执行此操作后,如果您尝试插入重复键,则会出现错误并捕获它,您可以生成另一个令牌

© www.soinside.com 2019 - 2024. All rights reserved.