gpt4 book ai didi

mysql - MySQL 5.5 IF存在THEN语法问题

转载 作者:行者123 更新时间:2023-11-29 19:42:42 35 4
gpt4 key购买 nike

我试图在一些老公司MySQL 5.5代码中包装一些逻辑检查:

例如,

CREATE TABLE IF NOT EXISTS <table_a> (
blah blah blah
);


我试图添加一种逻辑,以便仅在存在另一个表时才执行查询:

If <table_b> EXISTS

THEN

CREATE TABLE IF NOT EXISTS <table_a> (
blah blah blah
);

END IF;


这是我按照MySQL 5.5语法( https://dev.mysql.com/doc/refman/5.5/en/if.html)进行的查询

IF EXISTS(SELECT table_name 
FROM INFORMATION_SCHEMA.TABLES
WHERE table_schema = 'table_b_database'
AND table_name = 'table_b')


THEN

CREATE TABLE IF NOT EXISTS <table_a> (
blah blah blah
);

END IF;


可悲的是有一条错误消息:

SQL Error (1064): You have an error in your SQL syntax;


上师能开导吗?谢谢。

最佳答案

根据IF Syntax的文档


IF search_condition THEN statement_list
[ELSEIF search_condition THEN statement_list] ...
[ELSE statement_list]
END IF



你应该能够做类似的事情

IF EXISTS(SELECT table_name 
FROM INFORMATION_SCHEMA.TABLES
WHERE table_schema = 'table_b_database'
AND table_name = 'table_b')

THEN CREATE TABLE IF NOT EXISTS <table_a> (
blah blah blah
);
END IF


我希望这个对你有用

关于mysql - MySQL 5.5 IF存在THEN语法问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41253831/

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