Error: Duplicate entry '' for key 'email'
Error: Duplicate entry '' for key 'email'
我以前在 运行 php 脚本中看到过这个错误,但这在 phpmyadmin 中发生在我身上 ??
Error
SQL query:
UPDATE `cl56-goldeng`.`users` SET `email` = '' WHERE `users`.`id` =118
MySQL said: Documentation
#1062 - Duplicate entry '' for key 'email'
如果我给该字段另一个值,它工作正常,但如果我清除该字段并按回车键,我会收到上述错误。
table 本身看起来像这样:
您的 email
字段具有唯一约束。要么重新考虑你的逻辑,要么 drop the unique constraint.
那是因为你可能已经将邮箱声明为唯一键,一旦你输入一行空邮箱,除了另一行空邮箱外,就不会再出现了
在您的 table cl56-goldeng.users
上,字段 email
在创建时被指定为不允许超过 1 个相同的值被允许进入它。这是在 MySQL 中 table 创建时使用 UNIQUE
标识符完成的。 You can see more on the UNIQUE identifier at this link.
您有 2 个选项可以着手去做。
- 首先是删除
email
字段上的唯一约束。这完全取决于您在代码中的逻辑,但鉴于电子邮件应该 几乎 始终是唯一的,因此不建议这样做。
您可以通过 运行 命令删除唯一键:
alter table [table-name] drop index [unique-key-index-name];
- 其次,将使用
NULL
而不是空字符串。我的假设是,当用户电子邮件不存在时,您将设置一个空字符串。在这种情况下,最好使用 NULL
,然后在从数据库中检索数据时检查它。
您可以在 MySQL
语句中使用 NULL
标识符插入一个 NULL
值,例如:
INSERT INTO users (firstName,lastName,email)
VALUES ('Bob','Ross',NULL);
然后检查 NULL
值,无论您使用何种语言访问此数据。
我以前在 运行 php 脚本中看到过这个错误,但这在 phpmyadmin 中发生在我身上 ??
Error
SQL query:
UPDATE `cl56-goldeng`.`users` SET `email` = '' WHERE `users`.`id` =118
MySQL said: Documentation
#1062 - Duplicate entry '' for key 'email'
如果我给该字段另一个值,它工作正常,但如果我清除该字段并按回车键,我会收到上述错误。
table 本身看起来像这样:
您的 email
字段具有唯一约束。要么重新考虑你的逻辑,要么 drop the unique constraint.
那是因为你可能已经将邮箱声明为唯一键,一旦你输入一行空邮箱,除了另一行空邮箱外,就不会再出现了
在您的 table cl56-goldeng.users
上,字段 email
在创建时被指定为不允许超过 1 个相同的值被允许进入它。这是在 MySQL 中 table 创建时使用 UNIQUE
标识符完成的。 You can see more on the UNIQUE identifier at this link.
您有 2 个选项可以着手去做。
- 首先是删除
email
字段上的唯一约束。这完全取决于您在代码中的逻辑,但鉴于电子邮件应该 几乎 始终是唯一的,因此不建议这样做。
您可以通过 运行 命令删除唯一键:
alter table [table-name] drop index [unique-key-index-name];
- 其次,将使用
NULL
而不是空字符串。我的假设是,当用户电子邮件不存在时,您将设置一个空字符串。在这种情况下,最好使用NULL
,然后在从数据库中检索数据时检查它。
您可以在 MySQL
语句中使用 NULL
标识符插入一个 NULL
值,例如:
INSERT INTO users (firstName,lastName,email)
VALUES ('Bob','Ross',NULL);
然后检查 NULL
值,无论您使用何种语言访问此数据。