如何在MySQL / PHP中同时插入/更新行

时间:2012-04-08 02:33:25

标签: php mysql

如果该行不存在,我想插入MySQL行,如果它存在则更新它。

这样的事情:

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

这样的事情可能吗?

3 个答案:

答案 0 :(得分:5)

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

答案 1 :(得分:3)

用户MySQL的REPLACE命令:

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

它与普通INSERT的工作方式相同,但如果主键(在您的情况下为“id”)匹配,则它将替换所有指定的值。

答案 2 :(得分:0)

替换为表(UniqueKey,Value1,Value2)值('$ id','$ var1','$ var2');

replace类似于insert,但是如果表中存在唯一键,它将首先删除,而不是insert。