我作出了每天計數器的博客,我有問題,這個查詢:MySQL查詢幫助:如果存在更新
IF EXISTS SELECT * FROM tableA WHERE blog_id=1
UPDATE FROM tableA SET c=c+'1' WHERE blog_id='1' AND c_date=NOW()
ELSE
INSERT INTO FROM tableA VALUES (blog_id,c,c_date) VALUES (1,1,now())
其顯示以下錯誤:
1064 - 你有一個您的SQL語法錯誤;檢查對應於你的MySQL服務器版本正確的語法使用
附近手冊 'IF EXISTS SELECT * FROM表A WHERE blog_id = 1個更新來自 表A SET C = C +'」在1號線
My table entries should look like this :
id , blod_id , c , c_date
1 , 1001, 66 , 2011-11-11
2 , 1001, 160 , 2011-11-12
3 , 1002, 200 , 2011-11-12
4 , 1003, 33 , 2011-11-12
謝謝但你的查詢顯示同樣的錯誤,因爲我的:#1064 - 你的SQL語法有錯誤;檢查與您的MySQL服務器版本相對應的手冊,以便在'VALUES(1,1,now())'附近使用正確的語法。'重複密鑰更新'c' ='c' + 1,'c_date' = NOW()'在第1行 – user82324
我修復了這個錯誤,但我遇到了新問題。它插入多個記錄,而不是更新它... – user82324
你有一個唯一的索引在桌子上?你必須在行上有一個唯一的字段,可以是'UNIQUE'索引或'PRIMARY KEY'。當你嘗試插入一些它將更新的獨特的東西時,它會插入。 –