MySQL 汇出 DB Schema 的参数:(不汇出资料)
mysqldump -u root -d DB_NAME # "-d"
就不会将资料一起汇出来
Database Schema 汇出范例
因为 DB Schema 汇出的动作, 若有资料, 且资料内容有自动累加值(AUTO_INCREMENT)的字段, 汇出的内容在 Create Table 的结尾, 会纪录下一笔新资料要从第几个序号开始, 所以不会从 1 号开始(若 AUTO_INCREMENT=9, 新增那笔就会由 9 开始).
Schema 汇出的范例:
CREATE TABLE `table_name` (
`id` bigint(20) unsigned NOT NULL auto_increment,
PRIMARY KEY (`id`),
) ENGINE=MyISAM AUTO_INCREMENT=9 DEFAULT CHARSET=utf8;
mysqldump 移除 AUTO_INCREMENT=* 字串
通常都是
mysqldump -u root -d DB_NAME汇出后, 再手动将
AUTO_INCREMENT=*移除.
man mysqldump 想要找汇出的内容中, 是否能 不要包含 AUTO_INCREMENT 的资讯, 找不到可以用的参数, 只好于汇出时用 sed 来取代囉~
下面这两个都是将汇出内容的
AUTO_INCREMENT=*移除的指令, 看喜欢用哪个囉~(我习惯用第一个)
mysqldump -u root -d DB_NAME | sed 's/AUTO_INCREMENT=[0-9]*s//g'
mysqldump -u root -d DB_NAME --compact | sed 's/(.*ENGINE.*AUTO_INCREMENT=).*/10;/g'