1
所以我在某時刻獲得數據約100個項目,並將其插入到MySQL數據庫這樣的命令的腳本:SQL查詢不添加新條目使用INSERT忽略INTO
INSERT IGNORE INTO beer(name, type, alcohol_by_volume, description, image_url) VALUES('Bourbon Barrel Porter', 2, '9.1', '', '')
我跑了腳本一次,並用100個條目填充數據庫。但是,我使用相同的SQL語法再次運行腳本,收集所有新數據(即沒有重複數據),但數據庫沒有反映任何新條目 - 這與我在第一次迭代腳本時插入的相同的100個條目。
我記錄了查詢,並且我可以確認查詢是用新數據發出請求的,所以在腳本中沒有收集新數據的問題。
名稱字段是唯一的字段,但沒有其他字段。我錯過了什麼嗎?
我插入的表除了唯一的名稱字段外,還有唯一的主鍵id。主鍵字段是一個整數,它被設置爲自動遞增。不過,我的SQL語句並沒有顯式插入主鍵。因此,如果我沒有明確插入帶有IGNORE INSERT語句的主鍵,它是否嘗試從ID 1開始插入鍵,從而導致腳本不寫入任何新內容?如果我有一個主鍵整數,如果它是auto_increment的話,我的印象就是它只會停留在那裏。 – user1427661 2013-05-06 04:49:32