2017-08-10 102 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