gpt4 book ai didi

mysql - 重命名/重构数据库元素 - 仅存在脚本,但不存在数据库

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

我已准备好脚本 (.sql) 文件来创建数据库(创建架构、过程、添加测试数据)。

我还需要针对这些脚本设置编码标准/约定。

例如:表名不应以“_tbl”结尾,所有 SQL 关键字(SELECT、UPDATE、FROM)均应大写。

有没有最好/简单的方法来重命名这些(根据我的编码标准),以便当我重命名数据库对象时,引用重命名对象的其他对象应该自动更新为新名称

Found few links to serve this 。但想确认这是最好和最简单的方法。或者有比这更好的方法..

例如,如果我重命名表中的列,则引用该列的任何存储过程都会自动更新为新名称。

注意:如果 MySQL 脚本工具与 SQL 脚本工具不同,请评论该工具

提前非常感谢......

最佳答案

更改列名不会更新引用它的存储过程。

CREATE TABLE t ( v char(1) );
INSERT INTO t SET v='x';

CREATE PROCEDURE p()
SELECT v FROM t;

CALL p();
+------+
| v |
+------+
| x |
+------+

ALTER TABLE t CHANGE COLUMN v v2 CHAR(1);

CALL p();
ERROR 1054 (42S22): Unknown column 'v' in 'field list'

View 也存在类似的问题。

我认为最好的选择是使用文本编辑器编辑 SQL 脚本,然后搜索并替换要更改的表名称的所有实例。使用文本编辑器手动更新所有实例。然后运行 ​​SQL 脚本。

关于mysql - 重命名/重构数据库元素 - 仅存在脚本,但不存在数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46043341/

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