我的数据库有三个表: table1、table2和table3所有表的转储结构只转储table1和table2的数据,忽略table3中的数据目前,我使用两个mysqldump语句执行此操作。mysqldump -u user -p -d db > db_structure.sql
mysqldump -u user -p db --ignore-table=db.table3 > table1_an
有时,我遇到开发人员更改结构、为同一表添加/删除不同DB服务器、环境等列的情况,这会导致诸如ERROR 1136 (21S01): Column count doesn't match value count我通常将mysqldump还原的输出写入日志文件,但在此日志中找不到表名,只需查询OK、警告和/或错误消息。
我希望能够立即看到是哪个表导致了错误。当然,我可以编写一个自定义bash脚本,但是将当前表名记录到日志文件中会更容易。