我想寫一個查詢插入一個有效的方式使用'implode'許多值(說1000)的數組。這是代碼。我的查詢將記錄數組插入data
表中。我想更改查詢,以便它將更新記錄(如果存在),否則它將插入記錄。如果一條記錄存在,我可以更新一條記錄嗎?如果不存在,可以在一條查詢中插入多條記錄?
3
A
回答
9
你可能想要的是一個「ON DUPLICATE KEY」版本,它實際上允許你引用輸入的數據。
INSERT INTO data (name, age, since, description) VALUES
("Bob", 23, "01-01-1980", "friend"),
("Bill", 33, "03-01-1980", "tall"),
("Jane", 43, "12-01-1980", "thin")
ON DUPLICATE KEY UPDATE age=VALUES(age),
since=VALUES(since),
description=VALUES(description);
希望不言自明嗎?
$sql = array();
foreach($return as $key=>$row) {
$sql[] = '("'.mysql_real_escape_string($row['fullname']).'", '.$row['age'].','.$row['since'].','.'"'.mysql_real_escape_string($row['description']).'")';
}
mysql_query('INSERT INTO data (name, age, since, description) VALUES '.implode(',', $sql). ' ON DUPLICATE KEY UPDATE age=VALUES(age), since=VALUES(since), description=VALUES(description);');
編輯,添加到用戶的代碼本的上方。
+0
你可以請修改我的代碼,這樣它會使用implode插入和更新我想要的東西,如果存在? @Robbie – user1518659
+1
完成。你是否希望我寫下其他應用程序? – Robbie
+0
很酷..謝謝..sry干擾太多..我從來沒有想過在內爆使用DUPLICATE KEY .. @ Robbie – user1518659
相關問題
- 1. 更新多條記錄,如果不存在插入
- 2. pymongo插入一條記錄,如果不存在
- 3. HSQLDB -Query - 如果不存在則插入第一條記錄
- 4. 我可以訪問最後一條記錄的上一條記錄嗎?mysql?
- 5. 插入一條到多條記錄
- 6. 查詢要從多條記錄中選擇一條記錄
- 7. 將一條記錄轉換爲結果集的多條記錄
- 8. 要獲得一條記錄,如果對於相同的ID存在超過一條記錄,則根據以下條件僅得到一條記錄
- 9. SQL查詢 - 更新同一表中的1條記錄中的多條記錄
- 10. 使用「如果不存在」輸入一條記錄
- 11. 我可以在二級緩存中存儲多少條記錄?
- 12. 插入一條記錄
- 13. 如果在cassandra中存在多條記錄,請檢查一個查詢
- 14. 在lightswitch中將一條記錄複製到另一條記錄
- 15. 一條記錄
- 16. 在mysql的下一條記錄中插入最後一條記錄字段
- 17. 在一條記錄下顯示多條記錄?
- 18. 如果不存在MySQL插入記錄的條件
- 19. 我可以在coredata中存儲多少條記錄
- 20. PostgreSQL如何用一條插入語句插入多條記錄
- 21. 如果前一個記錄= null,則移至下一條記錄
- 22. MySQL查詢在哪裏添加多條記錄到一條記錄
- 23. 一次可以插入多少條記錄
- 24. 查詢在sql server表中插入一條記錄,如2013040900001
- 25. 你如何添加一條記錄的ID插入另一條記錄的列?
- 26. 如果只有一條記錄存在,使用QSqlite無法獲取記錄
- 27. 保存一條記錄..但不保存... :(
- 28. MS ACCESS Subselect「子查詢最多可以返回一條記錄」
- 29. 此子查詢最多可以返回一條記錄錯誤
- 30. Yii:在一個查詢中保存多條記錄
重複:http://stackoverflow.com/questions/1218905/how-do-i-update-if-exists-insert-if-not-aka-upsert-or-merge-in-mysql – Prasanth
有* *不再支持** mysql_ *'函數,它們是[**官方不推薦使用的**](https://wiki.php.net/rfc/mysql_deprecation),**不再維護**,並將[ **刪除**](http://php.net/manual/en/function.mysql-connect.php#warning)。您應該使用[PDO](http://php.net/pdo)或[MySQLi](http://php.net/mysqli)更新您的代碼,以確保您的項目未來的功能。 – TRiG