gpt4 book ai didi

sql - 重命名mysql中的表列

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

我想重命名 MySql 中的表列,并在引用该列的任何触发器、存储过程等中更新名称。使用 alter table 命令时,默认情况下似乎不会发生这种情况。

如果存在可以执行此类重构的工具,那么如果它能够生成应用这些更改的 SQL 脚本,那就太好了。这样我就可以在另一个数据库上进行相同的更改(无需再次使用该工具)。

谢谢,唐

最佳答案

据我所知,没有一种自动化的方法,但是您可以获得使用该列的过程、触发器和 View 的相当权威的列表,前提是您不使用 * 并且您不要在触发器/过程/ View 中使用动态 SQL 生成。

SELECT 'sp' AS type
, routine_schema
, routine_name
FROM information_schema.routines
WHERE routine_body LIKE '%$table%'
AND routine_body LIKE '%$column%'
UNION ALL
SELECT 'trigger' AS type
, trigger_schema
, trigger_name
FROM information_schema.triggers
WHERE action_statement LIKE '%$table%'
AND action_statement LIKE '%$column%'
UNION ALL
SELECT 'view' AS type
, table_schema
, table_name
FROM information_schema.views
WHERE view_definition LIKE '%$table%'
AND view_definition LIKE '%$column%'

关于sql - 重命名mysql中的表列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1644271/

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