在我的php
脚本中,我想检查一下数据库表的结构是否已经改变。 DESCRIBE TABLE
不会提供足够的信息,因为它忽略了外键。 SHOW CREATE TABLE
太多了,因为自动增量值也出现在这里。如何检测数据库结构是否更改? (不是内容!)
2
A
回答
5
SHOW CREATE TABLE过多,因为自动增量值 也出现在这里。
只需使用正则表达式过滤出自动增量值即可。
preg_replace('/ AUTO_INCREMENT=[0-9]+ /', ' ', $sql);
+0
如果您可以包含该正则表达式函数,请 – 2012-04-25 14:31:12
+1
更新了答案。 – 2012-04-25 14:35:09
+1
不错。 (小缺点是,如果索引或外键已被删除并以不同的名称重新创建,它将显示错误否定) – 2012-04-25 14:44:15
看看'information_schema。*'表格。我认为它的一些数据组合可能会工作得很好(可能是列,table_constraints和触发器)。 – Wrikken 2012-04-25 14:36:20