我有一个查询,看起来像这样:
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提示,但是如果表中没有任何主键或惟一键怎么办?
提前谢谢你。
发布于 2010-12-22 15:50:55
不,您不能这样做(除非在存储过程中,即使这样,语法也会有所不同)
检查INSERT INTO ... ON DUPLICATE KEY UPDATE语法
http://dev.mysql.com/doc/refman/5.5/en/insert-on-duplicate.html
https://stackoverflow.com/questions/4507167
复制相似问题