gpt4 book ai didi

mySQL - 如果语句给出语法错误

转载 作者:可可西里 更新时间:2023-11-01 07:46:44 25 4
gpt4 key购买 nike

所以我有以下查询:

IF ( ( SELECT RevisionNumber FROM SchemaVersion ) > 1 ) THEN BEGIN
CREATE TABLE Test ( ID INT );
CREATE TABLE Test2 ( ID INT );
END;
END IF

基本上,我想根据表中的值(SchemaVersion - 始终有 1 行)来决定是否需要进行某些更改。

但是,当我使用此查询时,我收到以下错误消息:

#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF ( ( SELECT RevisionNumber FROM SchemaVersion ) > 1 ) THEN BEGIN
CREATE T' at line 1

知道为什么会出错/如何解决?

我刚读了另一篇文章,显然 BEGIN/END 只允许在存储过程中使用。有什么办法可以解决这个问题(不把它放在存储过程中)。

谢谢

最佳答案

IF 语句是所谓的复合语句语法的一部分,它仅在存储代码(如触发器、函数或存储过程)中可用。

http://dev.mysql.com/doc/refman/5.0/en/sql-syntax-compound-statements.html

关于mySQL - 如果语句给出语法错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7629306/

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