gpt4 book ai didi

MySQL/Percona 5.6 : INSERT INTO a table after a table is ALTERed

转载 作者:行者123 更新时间:2023-11-30 23:05:05 25 4
gpt4 key购买 nike

我最近安装了一台装有 Percona Server 5.6 而不是 MySQL 5.6 的新计算机,并且主要使用 InnoDB/XtraDB,FWIW。我正在处理的数据库只是一个试验场,但我有一个问题:在我向表中添加一列(甚至删除一列)后,我通常会忘记插入或以其他方式更改另一个表的数据,它会跟踪哪个表中有哪些列名;每个表都有 ASCII 名称和一个数字,为​​了简单起见,这个数字是表名之间的唯一区别。 那么,有没有一种方法可以自动更新“关系”表,以便添加或更改列名和表的编号,而不是使用 cronjob?

现在我认为,我可以删除该表并改用 information_schema ...

EDIT 0: 不要让上述认识阻止你;在采取其他可能的方式之前知道这是否可行是件好事。

最佳答案

是的,依靠“INFORMATION_SCHEMA.COLUMNS”可能是最好的。

不幸的是,mysql 不支持 DDL TRIGGER 事件,因为这正是您正在寻找的。

触发器允许您在插入、更新或删除特定表中的行之前执行许多 SQL 和过程操作。然而,据我所知——如果我错了我会很生气的——你不能在像 ALTER 和 DROP TABLE 这样的 DDL 语句上设置 TRIGGER 事件......

然而,仍然需要花时间了解触发器 - 它们通过消除对 cronjobs 和外部更新(如聚合值)的需要来节省大量时间。

https://dev.mysql.com/doc/refman/5.6/en/trigger-syntax.html

关于MySQL/Percona 5.6 : INSERT INTO a table after a table is ALTERed,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22254239/

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