gpt4 book ai didi

mysql - 是否可以在其创建语句之前定义 MySQL 表注释?

转载 作者:行者123 更新时间:2023-11-29 07:26:32 25 4
gpt4 key购买 nike

为了以更线性的方式记录 SQL 代码,我想在创建语句之前显示将要创建的表的描述。所以我的第一个想法是把它放在一个用户定义的变量中,我可以用它来填充评论指令,但它似乎不受支持(至少在我必须处理的 5.6 版本中):

set @description = 'The following table is a useless dummy test.';
drop table if exists `test`;
create table `test` (dummy int) comment @test; -- syntax error
show table status where name='test';

还有其他方法可以实现最初的目标吗?当然,总是可以在创建语句之前使用 -- SQL 注释,但是这样它就不会出现在记录的数据库结构中,或者以可怕的重复为代价。

最佳答案

我们可以使用动态 SQL 来做到这一点:

SET @description = 'The following table is a useless dummy test.';
SET @sql = CONCAT('CREATE TABLE test (dummy int) COMMENT=''', @description, '''');
PREPARE stmt FROM @sql;
EXECUTE stmt;

请注意,每个准备好的语句都是这样;一个声明。因此,要从命令行执行此操作,您可能需要 3 个语句来涵盖要运行的完整逻辑。

关于mysql - 是否可以在其创建语句之前定义 MySQL 表注释?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53377324/

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