gpt4 book ai didi

mysql - 在 MySQL 中用当前日期重命名列

转载 作者:行者123 更新时间:2023-11-29 11:38:31 24 4
gpt4 key购买 nike

有没有办法将列名更改为当前日期?我不需要它随着日期的变化而动态更新——只需要代码执行的日期。我尝试了下面的代码,但出现语法错误

ALTER TABLE table_name CHANGE old_column_name CURDATE() DATE;

最佳答案

在 ALTER TABLE 语句中,必须像 SQL 文本中的任何其他标识符一样提供新列名。

列的新名称不能作为函数的返回值或绑定(bind)占位符提供。它必须作为标识符提供。

也就是说,您提交给数据库的 SQL 语句需要实际拼写出新的列名称,作为语句的一部分:

 ALTER TABLE table_name CHANGE old_column_name new_column_name DATE 

所以,对你的问题的简短回答是否定的,它不能在单个 SQL 语句中完成。

<小时/>

显然,您可以在单独的步骤中执行操作,获取当前日期,并创建一个包含要执行的 SQL 语句的字符串。看来您还需要确定要更改的列的当前名称。

<小时/>

超出了提出的问题......

我很难理解这样的用例是合适的解决方案。这种类型的功能试图解决什么问题?为什么需要更改列的名称。任何引用该列的 SQL 语句也需要更改。您可以将此“日期”作为存储在另一个表的一行中吗?

我唯一能想到的为什么有人会想要这样做,就是在 SELECT * 查询的结果集中指定列名的错误尝试。

关于mysql - 在 MySQL 中用当前日期重命名列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36231458/

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