2017-08-10 80 views
0
INSERT IGNORE INTO sobd_voucher_types(voucher_type) VALUES('$voucher_array[$i]') 

我想避免插入重复的数据。 voucher_type列是唯一的。 当我在mysql上运行它时,此查询正常工作。 但相同的查询不是当我从PHP运行。 重复数据还是会被插入INSERT IGNORE INTO无法正常工作

+0

使用双qutos' “'围住变量,'(” $ voucher_array [$ i]“)' – wajeeh

回答

0

如果重复的数据被插入,那么就意味着voucher_type列不是唯一的,因为IGNORE仅跳过错误(不从重复插入防止)。

https://dev.mysql.com/doc/refman/5.7/en/insert.html

如果使用忽略改性剂,在执行 INSERT语句中出现的错误被忽略。例如,如果没有IGNORE, 重复表 中的现有UNIQUE索引或PRIMARY KEY值会导致重复键错误,并且语句会中止。使用 IGNORE,该行将被丢弃并且不会发生错误。忽略的错误可能会产生警告,尽管重复键错误不会。

+0

问题是我的查询运行完全正常,当我在MySQL运行。 如果复制它不添加新行 但是,当我运行它与PHP 它仍然进入一个新的重复行 –

+0

@DesmondDias你可以显示你的表的模式?因为这是不可能解决这个问题没有所有的信息。 – Neodan