为了接收参数并更新数据,我将伪造的数据放入其中并运行更新。
UPDATE
TB_PUSH_MESSAGE
SET 1=1
<if test="status != ''">
, status = #{status}
</if>
<if test="body != null">
, body = #{body}
</if>
WHERE
seq_no = #{seq_no}
但是出现错误
由于:java.sql.SQLSyntaxErrorException:您的错误 SQL语法;检查与您的MySQL服务器相对应的手册 在'1 = 1附近使用的正确语法的版本 ,状态=“ 0”
WHERE seq_no = '1'' at line 3
如果我不能在其中放入假数据,该如何解决?
答案 0 :(得分:0)
问题似乎出在您的1 = 1
语句上。在这种情况下,第一个1
被视为“表TB_PUSH_MESSAGE
中的第一列”。因此,您可以将此行读为set seq_no = 1
,这很可能与列的类型不兼容。
update equivalent of WHERE '1' = '1'-这个问题似乎很有帮助/相关/重复。