我有一个MySQL表,其中已存储了许多重要数据,但它没有任何主键和自动增量ID。现在我想在我的ID列上设置主键,但我不需要在表格的任何列中使用Auto_increment id。因此,当我尝试在ID列上设置主键时,此错误将出现“ERROR 1062(23000):重复输入''用于键'PRIMARY'”
那么......我怎么能解决这个问题。我可以在没有Auto_increment ID的情况下设置主键吗?
答案 0 :(得分:2)
只需使用-f( - force)或--insert-ignore恢复转储以执行它将遇到错误的进程并继续转储或插入
mysql -u root -p -f <NAME OF DB> < <BACKUP DB>.sql
答案 1 :(得分:0)
您的表格中有多个条目,其ID为空白。你应该更新你的id,使它们是唯一的,而不是你添加一个主键约束。
答案 2 :(得分:0)
这不是auto_increment的问题。此列中有两行或多行具有相同的值。因此,此列不能用作主键。它必须是独一无二的。删除冗余数据或引入另一列作为主键,可能是auto_increment列? ;)