gpt4 book ai didi

mysql - 飞行路线 | MariaDb - 无法执行条件 block

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

我想向包含现有数据的表添加一个非空列。我的工具集包括 MariaDb 和 Flyway。这就是我正在做的事情

IF NOT EXISTS(SELECT 1
FROM INFORMATION_SCHEMA.COLUMNS
WHERE table_name = 'MY_DATA_TABLE'
AND table_schema = '${schemaName}'
AND column_name = 'NewColumnName'
) THEN
ALTER TABLE MY_DATA_TABLE ADD COLUMN 'NewColumnName' INT;
SELECT ID INTO @val FROM MASTER_TABLE WHERE lower(Name) = 'XYZ';
UPDATE MY_DATA_TABLE SET NewColumnName = @val;
ALTER TABLE MY_DATA_TABLE MODIFY COLUMN 'NewColumnName' INT NOT NULL;
END IF;

执行mvn Flyway:migrate给了我这个错误

[ERROR] SQL State  : 42000
[ERROR] Error Code : 1064
[ERROR] Message : You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near ''NewColumnName'
INT' at line 7

我什至尝试在其中放置一些正在运行的 select 语句,但错误仍然相同。请建议一些解决方法。还请推荐是否有其他方法可以实现目标。谢谢!

最佳答案

我怀疑问题出在引用列名上。尝试以交互方式执行 SQL,看看是否出现相同的错误。然后尝试让它成功运行。在 related question答案是尝试在列名称周围不加引号或使用反引号转义它们。

关于mysql - 飞行路线 | MariaDb - 无法执行条件 block ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45457901/

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