MySQL 插入失败,索引上有重复条目

MySQL Insert Failing with Duplicate Entry on Index

我正在尝试执行插入语句。我有一个独特的索引设置,结合了 phone_number 和 niche.

INSERT INTO CV_YP.table (phone_number,website,niche) VALUES (1231231234, 'website.com', 'fitness')

return 值表示我有一个重复条目,但 phone 数字与我刚尝试插入的数字不同。

ERROR 1062 (23000) at line 1: Duplicate entry '2147483647-fitness' for key 'idx_table_phone_number_niche'

我不明白为什么 MySQL 认为我的插入与索引重复相关 returns。

我想如果你运行这个查询

SELECT * FROM CV_YP.table WHERE phone_number = '2147483647' AND niche = 'fitness';

你会发现不止 1 行,所以我认为它违反了唯一索引,所以当引擎尝试检查新数据的唯一性时,会触发此错误

更新

我觉得你的 phone 号码不对 1231231234 吧? 它是一个大于 2147483647 的数字并且您使用 phone_number 数据类型作为 int

如果是这样,我认为您需要更改 phone_number 列的数据类型,因为 int 的最大值是 2147483647 所以当您插入新数字时,引擎会将其视为最大值为 2147483647 并尝试插入它。