我们可以将现有列作为主键吗?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了我们可以将现有列作为主键吗?相关的知识,希望对你有一定的参考价值。
我有一个列名称Token
,我正在生成随机数并将其保存在令牌中,但有时它会保存重复的令牌,所以我想让它独一无二。
我想知道它是否会影响现有记录。
答案
如果您尝试向包含非唯一值的列添加唯一约束(或主键约束),则alter
语句将失败。您需要先更新列,以便所有值都是唯一的(或删除重复项),然后更改表。
另一答案
ALTER table Student add primary key (studentID)
使用Alter命令编辑表的DDL,然后通过指定列为其添加主键。如果主键已经存在,那么首先你必须删除它,然后再定义另一个PK -
ALTER table STUDENT drop CONSTRAINT <constraint_name>
另一答案
试试这个
ALTER table_namePersons ADD UNIQUE (Token);
执行此操作后,如果您尝试插入重复键,则会出现错误并捕获它,您可以生成另一个令牌
以上是关于我们可以将现有列作为主键吗?的主要内容,如果未能解决你的问题,请参考以下文章