mysql语法错误文件_Flyway MySQL语法错误
我终于找到了问题的原因.
在我的剧本中我有:
...
...
/* INSERT statement LAST - 1 */
INSERT INTO `table_1` (`id`, `string_1`, `string_2`)
VALUES (
1,
'aaa', /* COMMENT 1*/
'bbb' /* COMMENT 2*/
);
/* INSERT statement LAST */
INSERT INTO `table_2` (`id`, `string_3`)
VALUES (
1, /* COMMENT 3 */
'cccc' /* COMMENT 4 */
);
问题似乎在评论2和评论4上.如果我删除主题flyway成功执行我的所有迁移脚本.
例如,此脚本将起作用:
...
...
/* INSERT statement LAST - 1 */
INSERT INTO `table_1` (`id`, `string_1`, `string_2`)
VALUES (
1,
'aaa', /* COMMENT 1*/
'bbb'
);
/* INSERT statement LAST */
INSERT INTO `table_2` (`id`, `string_3`)
VALUES (
1, /* COMMENT 3 */
'cccc'
);
那么,也许这是Flyway解析器中的一个错误?
我今天没时间测试它,但似乎只有在以下情况下才会出现此错误:
>我们在VARCHAR之后发表评论(或者我认为其他字符串列类型)
>此评论位于’)’字符之前
如果一个SQL脚本中存在多个insert语句,则此问题似乎只能重现.
此外,我认为没有放在’)’之前的评论是正确的,例如:
/* INSERT statement LAST */
INSERT INTO `table_2` (`id`, `string_3`)
VALUES (
1, /* COMMENT 3 */
'cccc', /* COMMENT 4 */
'dddd'
);
这里的评论3和评论4在Flyway中传递,因为它们位于’,’之后,在字符串值之前,但它们没有放在’)’字符之前.
希望这可以帮助;-)
总结
以上是生活随笔为你收集整理的mysql语法错误文件_Flyway MySQL语法错误的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: mysql--数据库剧本指令操作
- 下一篇: 二叉树相关公式