我对使用phpmyadmin还不熟悉。到目前为止,我习惯于在mysql中创建基本的原始查询。我尝试通过phpmyadmin的gui执行这个简单的查询:
(所有以小写字母开头的列名都是gui中定义的参数)
if((Select COUNT(*) from Reviews where ReviewID=reviewID AND UserID=userID) > 0)
THEN
Insert Into reviews(ReviewID, UserID, OrganizationID, ReviewText, ReviewMediaURLs, ReviewRating)
Values(reviewID, userID, organizationID, reviewText, reviewMediaURLs, reviewRating) ON DUPLICATE
KEY UPDATE ReviewText=reviewText, ReviewMediaURLs=reviewMediaUrls, ReviewRating=reviewRating
END IF
它抛出了一个错误 The following query has failed to execute
. 现在,我对mysql和phpmyadmin都是新手,所以我很难确定phpmyadmin是用这种方式处理查询的,还是我的查询实际上是错的。
如果有人能指出错误,将不胜感激。
编辑
到目前为止正确执行的语句是:
Insert Into reviews(ReviewID, UserID, OrganizationID, ReviewText,
ReviewMediaURLs, ReviewRating) Values(reviewID, userID, organizationID,
reviewText, reviewMediaURLs, reviewRating) ON DUPLICATE KEY UPDATE ReviewID=reviewID, ReviewText=reviewText, ReviewMediaURLs=reviewMediaUrls, ReviewRating=reviewRating
1条答案
按热度按时间nmpmafwu1#
这样的if-then构造,只适用于存储过程和函数。
对于普通查询:
select决定设置哪个@sql。
剩下的是一个execute语句