这是我的表tb_currency_minimum_amount
当我使用
插入记录时INSERT IGNORE INTO tb_currency_minimum_amount ( id, currency_id, payment_method, minimum_amount) VALUES (NULL, 1, 16, 0.02)
一次又一次地创建一个新条目
ID为32,33,34的行相同
我将它指定为32而不是27并忽略重复
2:
答案 0 :(得分:1)
AUTO_INCREMENT
列的目的是确保表中行的唯一标识符。
它只是一个实现细节,它使用连续的整数值。这些值不是连续的要求。您的代码不得依赖于连续的值。
当没有提供该列的值时,每个AUTO_INCREMENT
语句都会增加INSERT
的值,无论是否使用更新的值(查询创建新行) (它由于重复的键约束而失败,或者由于ON DUPLICATE KEY
而更新了现有的行。)
答案 1 :(得分:0)
自动增量计算每个记录+1。但它不检查其他列是唯一的还是重复的。 在您的自动增量的id列中,我没有看到任何重复项。
您能详细说明您尝试存档的目的吗?
答案 2 :(得分:-1)
它正在添加为id 32而不是27并忽略重复
如果我理解你的问题,你应该使用 SQL SELECT DISTINCT语句。
SELECT DISTINCT语句用于仅返回不同的(不同的)值。
在表格中,列通常包含许多重复值;有时您只想列出不同的(不同的)值。
SELECT DISTINCT语句用于仅返回不同的(不同的)值。