Som*_*ent 1 mysql if-statement
我有一个看起来像这样的查询:
mysql_query("IF EXISTS(SELECT * FROM predict WHERE uid=$i AND bid=$j)
THEN UPDATE predict SET predict_tfidf=$predict_tfidf WHERE uid=$i AND bid=$j
ELSE INSERT INTO predict (uid, bid, predict_tfidf) VALUES('$i','$j','$predict_tfidf')
END IF")or die(mysql_error());
Run Code Online (Sandbox Code Playgroud)
但它死了,mysql告诉我检查附近的语法 IF EXISTS(....)
我们可以不使用IF语句来启动mysql查询吗?
[编辑]感谢您的ON DUPLICATE KEY UPDATE提示,但如果表中没有任何主键或唯一键怎么办?
先感谢您.
不,你不能这样做(除非在存储过程中,即使那时语法也会不同)
检查INSERT INTO ... ON DUPLICATE KEY UPDATE语法
http://dev.mysql.com/doc/refman/5.5/en/insert-on-duplicate.html