我有一个如下所示的查询:
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());
但它死了,mysql告诉我检查IF EXISTS(....)
附近的语法
我们不能使用IF语句来启动mysql查询吗?
[编辑]感谢ON DUPLICATE KEY UPDATE
小费,但如果表格中没有任何主键或唯一键,该怎么办?
提前谢谢。
答案 0 :(得分:5)
不,你不能这样做(除非在存储过程中,即使那时语法也会不同)
检查INSERT INTO ... ON DUPLICATE KEY UPDATE
语法
http://dev.mysql.com/doc/refman/5.5/en/insert-on-duplicate.html