gpt4 book ai didi

mysql - SQL语法错误

转载 作者:行者123 更新时间:2023-11-29 02:06:25 25 4
gpt4 key购买 nike

UPDATE `comment` 

SET `agree`=`agree`+1,(INSERT INTO `reacted_on` VALUES (10,197))
WHERE `id`=197 and 0 = (SELECT COUNT(*) FROM `reacted_on` WHERE `id_user`=10 and `id_comment`=197)

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near
'(INSERT INTO `reacted_on` VALUES (10,197)) WHERE `id`=197 and 0 = (SELECT COUNT(' at line 1

我想在 comment 中添加 agree 但我想防止同一用户对一条评论达成不止一条评论。因此,首先我检查用户是否对相同的评论使用react;我增加同意。然后我插入一行以防止用户再对同一评论使用react。

我错过了什么?为什么不是真的?我应该怎么做才能解决这个问题?

如何在 UPDATE 查询中使用 INSERT 语句?

这是我使用查询的地方:

        $con = mysql_connect($my_sql_servername,$my_sql_username,$my_sql_password);
mysql_select_db($my_sql_database, $con);
if($validation != $_SESSION['validation'])
die('-1');
$sql = "IF NOT EXISTS (SELECT * FROM `reacted_on` WHERE `id_user`=".$id_user." and `id_comment`=".$id_comment." ) THEN INSERT INTO `reacted_on` VALUES (10,197); UPDATE `comment` SET `agree`=`agree`+1 WHERE `id`=".$id_comment." END IF;";
//echo $sql;
if(!mysql_query($sql)){die(mysql_error());}

最佳答案

这是完全错误的;)

您正在执行一个 UPDATE 查询,然后突然出现一个您无法继续的 INSERT 子查询。我什至会说这里有一个与这里无关的右括号。

关于mysql - SQL语法错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5220070/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com