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 */
);
問題似乎在評(píng)論2和評(píng)論4上.如果我刪除主題flyway成功執(zhí)行我的所有遷移腳本.
例如,此腳本將起作用:
...
...
/* 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解析器中的一個(gè)錯(cuò)誤?
我今天沒時(shí)間測(cè)試它,但似乎只有在以下情況下才會(huì)出現(xiàn)此錯(cuò)誤:
>我們?cè)赩ARCHAR之后發(fā)表評(píng)論(或者我認(rèn)為其他字符串列類型)
>此評(píng)論位于’)’字符之前
如果一個(gè)SQL腳本中存在多個(gè)insert語(yǔ)句,則此問題似乎只能重現(xiàn).
此外,我認(rèn)為沒有放在’)’之前的評(píng)論是正確的,例如:
/* INSERT statement LAST */
INSERT INTO `table_2` (`id`, `string_3`)
VALUES (
1, /* COMMENT 3 */
'cccc', /* COMMENT 4 */
'dddd'
);
這里的評(píng)論3和評(píng)論4在Flyway中傳遞,因?yàn)樗鼈兾挥凇?’之后,在字符串值之前,但它們沒有放在’)’字符之前.
希望這可以幫助;-)
總結(jié)
以上是生活随笔為你收集整理的mysql语法错误文件_Flyway MySQL语法错误的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: mysql--数据库剧本指令操作
- 下一篇: Firebird数据库的安装及使用