2016-03-01 32 views
-2
SELECT IFNULL(post.id 
,INSERT INTO post(pdate,body) VALUES (1,'a') 
,UPDATE post set body='update',pdate=2 
) 
from post where body='a' and pdate=1 

回答

0

您可以嘗試創建這樣一個存儲過程:

CREATE PROCEDURE `myProc` 
BEGIN 
IF EXISTS (SELECT post.id from post where body='a' and pdate=1) THEN 
UPDATE post set body='update',pdate=2; 
ELSE 
INSERT INTO post(pdate,body) VALUES (1,'a'); 
END IF; 
END // 
+0

謝謝,但我會產生在PHP這個查詢不存儲過程 – Ali

+0

@阿里: - 在這種情況下,只需刪除「CREATE PROCEDURE」並在您的PHP代碼中使用它。 –

+0

我知道,但我想要在一個請求中執行這個查詢,而不是多個查詢 – Ali