Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/65.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
MySQL/Percona 5.6:更改表后插入表_Mysql_Sql_Database_Percona - Fatal编程技术网

MySQL/Percona 5.6:更改表后插入表

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

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

现在,我想,我可以删除该表并使用信息模式代替


编辑0:不要让上述认识阻止你;在选择其他可能的方法之前,最好先知道这是否可行。

是的,依赖“信息模式.列”可能是最好的选择

不幸的是,mysql不支持DDL触发器事件,因为这正是您需要的

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

但是,仍然需要花时间来了解触发器——它们省去了对cronjobs和聚合值等外部更新的需要,从而节省了大量时间


然而,也有可能使其反向工作。ie在您的伪信息模式表中,您意识到它可能是多余的-在插入到该tbl时。更改另一个表。您仍然不能在信息架构上使用此选项,因为这些实际上是视图。