2014-07-17 35 views
1

如果它不存在,我需要在BD上插入一條新記錄,如果它存在,則更新。爲此,我使用2個查詢:插入一個新的如果它不存在,並且如果它存在則更新

INSERT INTO tbl_ponto (`rodada`, `ponto`, `patrimonio`, `FK_loginID`) VALUES ('10', 100.00, 100.00, 3); 
UPDATE tbl_ponto SET ponto=150.00, patrimonio=150.00 WHERE rodada=10 AND FK_loginID=3; 

我只用1個查詢就可以做到這一點。我閱讀了REPLACE,但無法使其適用於我的情況。 你能幫我嗎?

回答

2
INSERT INTO tbl_ponto (`rodada`, `ponto`, `patrimonio`, `FK_loginID`) 
    VALUES ('10', 100.00, 100.00, 3) 
ON DUPLICATE KEY UPDATE ponto=150.00, patrimonio=150.00; 

觸發ON DUPLICATE KEYINSERT失敗叫,因爲一些與已經存在的PRIVATE/UNIQUE KEY價值觀衝突。

在這種情況下,rodada, FK_loginID必須是PRIVATE KEYUNIQUE KEY,否則您將不得不更新其中一個值。

+0

謝謝你,我不知道該怎麼做...:/ –

相關問題