2012-04-08 55 views
2

如果行不存在,我想插入MySQL行,或者如果行存在,則更新它。如何在MySQL/PHP中同時插入/更新行

事情是這樣的:

$sqlQuery = "INSERT INTO table (Value1, Value2) VALUES ('$var1', '$var2') WHERE UniqueKey='$id'"; 

是類似的東西可能嗎?

回答

5
INSERT INTO table (UniqueKey,Value1, Value2) VALUES ('$id','$var1', '$var2') 
ON DUPLICATE KEY UPDATE Value1 = '$var1',Value2 = '$var1'; 
3

用戶MySQL的REPLACE命令:

$sqlQuery = "REPLACE INTO table (id, Value1, Value2) VALUES ('$id', '$var1', '$var2')"; 

它的工作原理一樣正常的INSERT,但如果主鍵(在你的情況下「身份證」),那麼匹配將取代指定的所有值。

0

替換爲表(UniqueKey,Value1,Value2)值('$ id','$ var1','$ var2');

替換類似於插入,但是如果表中唯一的鍵存在,它將首先刪除,而不是插入。