gpt4 book ai didi

mysql - Liquibase 给出 MySQL 语法错误,而 phpMyAdmin 没有

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

我想在启动时使用 liquibase 3.2.2 和 MySQL 5.6.23 在 tomcat 7 服务器上执行命令。

命令失败,第 2 行出现神秘语法错误。

当我在 phpMyAdmin GUI 中执行相同的命令时,它可以正常工作。

这是命令:

UPDATE `mytable`
SET `parametervalue`='<div class="div_w5 col_fg_head font_bold font_size_nor padding_t4 h_right">
<input type="radio" id="zahlung_ja" name="zahlung" value="1">
</div>
<div class="div_w5 font_bold font_size_nor padding_t4">
&nbsp;ja &nbsp;&nbsp;
</div>
<div class="div_w5 col_fg_head font_bold font_size_nor padding_t4 h_right">
<input type="radio" id="zahlung_nein" name="zahlung" value="0">
</div>
<div class="div_w10 font_bold font_size_nor padding_t4">
&nbsp;nein &nbsp;&nbsp;
</div>'
WHERE ID=23;

注意:当我将多行字符串压缩为更少的行时,它也可以在 liquibase 中使用。但这并不能解决我的一般问题,因为此处显示的字符串只是几个较长字符串的精简示例,我无法透露。

最佳答案

解决方案是将参数 splitStatements:false 添加到变更集 header 。

问题出在带引号的多行字符串内的分号,MySQL 将其解释为字符串的一部分。

但是liquibase忽略了SQL语法,因此它在分号处分割命令,这导致发送到MySQL的命令不完整。

注意:Jens 在对该问题的评论中指出了这一点。

关于mysql - Liquibase 给出 MySQL 语法错误,而 phpMyAdmin 没有,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29793150/

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