我以前在运行 php 脚本的人身上看到过这个错误,但这在 phpmyadmin 中发生在我身上??
Error
SQL query:
UPDATE `cl56-goldeng`.`users` SET `email` = '' WHERE `users`.`id` =118
MySQL said: Documentation
#1062 - Duplicate entry '' for key 'email'
Run Code Online (Sandbox Code Playgroud)
如果我给该字段另一个值,它工作正常,但如果我清除该字段并按回车键,则会出现上述错误。
在您的 table 上cl56-goldeng.users,该字段email在创建时指定为不允许超过 1 个相同的值被允许进入其中。这是通过UNIQUE在 MySQL 中创建表时使用的标识符来完成的。您可以在此链接中查看有关 UNIQUE 标识符的更多信息。
你有 2 个选项可以去做。
email字段的唯一约束。这完全取决于您代码中的逻辑,但由于电子邮件几乎总是唯一的,因此不建议这样做。您可以通过运行以下命令删除唯一键:
alter table [table-name] drop index [unique-key-index-name];
NULL而不是空字符串。我的假设是,当用户电子邮件不存在时,您正在设置一个空字符串。在这种情况下,最好使用NULL,然后在从数据库检索数据时检查它。您可以在语句中NULL使用NULL标识符插入一个值MySQL,例如:
INSERT INTO users (firstName,lastName,email)
VALUES ('Bob','Ross',NULL);
Run Code Online (Sandbox Code Playgroud)
然后检查NULL您正在访问此数据的任何语言的值。
| 归档时间: |
|
| 查看次数: |
13699 次 |
| 最近记录: |