如何为If Exists Update Else Insert编写MySQL查询?

时间:2015-11-12 06:14:15

标签: mysql

我尝试在一个查询中编写MySQL插入和更新查询,但似乎无法正常工作,有人可以解释一下下面代码的错误是什么,谢谢..

IF EXISTS 
    (
        SELECT * 
        FROM contact 
        WHERE account_id='".$_GET['acc']."' AND contact_id='".$_GET['con']."'
    )
    UPDATE contact SET 
    category='".$_GET['cat']."',  shares='".$_GET['sh']."'
    WHERE account_id='".$_GET['acc']."' AND contact_id='".$_GET['con']."'
ELSE
    INSERT INTO contact 
    (account_id,contact_id, category, shares)
    VALUES ('".$_GET['acc']."', '".$_GET['con']."', '".$_GET['cat']."', '".$_GET['sh']."')

1 个答案:

答案 0 :(得分:0)

REPLACE的工作原理与INSERT完全相同,只是如果表中的旧行与PRIMARY KEY或UNIQUE索引的新行具有相同的值,则在插入新行之前删除旧行。

See REPLACE syntax