我有一個數據庫表test_users
:如果ID存在於重複鍵的使用,否則插入
| id | Username | Password |
| 1 | pat | ***** |
| 2 | roger | ***** |
| 3 | luke93 | ***** |
並插入新行我用下面的代碼,並能正常工作:
$sql = $conn->prepare("INSERT INTO `test_users` (`Username`, `Password`) VALUES (?,?)");
$sql->bind_param('ss',$name, $email);
但現在我正在嘗試製作「更新配置文件」頁面,並且我想使用ON DUPLICATE KEY。這意味着我需要檢查是否存在id
,如果有,請更新該行。 Username
或Password
都不是唯一的,但是id
是。我有一個$ _SESSION [「id」],如果用戶已經登錄就可以使用。我可以以某種方式使用它嗎? 那麼如何編寫一個SQL語句來判斷是否存在id
,如果是,用ON DUPLICATE KEY(或更好的方法)覆蓋它?
嘗試是否存在()函數。使用下面的鏈接[解決方案](http://stackoverflow.com/questions/12639407/sql-if-exists-update-else-insert-syntax-error) –
指定唯一字段的唯一鍵,然後嘗試查詢 http ://stackoverflow.com/questions/4205181/insert-into-a-mysql-table-or-update-if-exists –
檢查 - https://dev.mysql.com/doc/refman/5.7/en/insert -on-duplicate.html –