Mysql 我们可以将现有列作为主键吗?
我有一个列名Mysql 我们可以将现有列作为主键吗?,mysql,sql,primary-key,ddl,unique-key,Mysql,Sql,Primary Key,Ddl,Unique Key,我有一个列名Token,我正在生成随机数并将它们保存在Token中,但有时它会保存重复的Token,因此我希望使其唯一 我想知道它会影响现有记录吗尝试这样做 ALTER table_namePersons ADD UNIQUE (Token); 执行此操作后,如果尝试插入重复键,则会出现错误并捕获它,您可以生成另一个标记如果尝试向包含非唯一值的列添加唯一约束(或主键约束),则alter语句将失败。您需要首先更新列,使所有值都是唯一的(或删除重复值),然后更改表 ALTER table Stud
Token
,我正在生成随机数并将它们保存在Token中,但有时它会保存重复的Token,因此我希望使其唯一
我想知道它会影响现有记录吗尝试这样做
ALTER table_namePersons ADD UNIQUE (Token);
执行此操作后,如果尝试插入重复键,则会出现错误并捕获它,您可以生成另一个标记如果尝试向包含非唯一值的列添加唯一约束(或主键约束),则
alter
语句将失败。您需要首先更新列,使所有值都是唯一的(或删除重复值),然后更改表
ALTER table Student add primary key (studentID)
使用Alter命令编辑表的DDL,然后通过指定列向其添加主键。
如果主键已经存在,那么首先您必须在定义另一个主键之前删除它-
ALTER table STUDENT drop CONSTRAINT <constraint_name>
ALTER table STUDENT drop约束
他在这方面可能会出错,因为他在该列上已经有了重复项。要在有重复项的列上设置主键,您必须首先清除它们。您是否使用php与sql交互?@Vitoferreli YesThank you。我想这对我有帮助