定義だけ出す方法を教えてください。
↓の例でいうところの、
AUTO_INCREMENT=2
が不要です。
CREATE TABLE `diary` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`member_id` int(11) NOT NULL,
`title` text NOT NULL,
`body` text NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8;
unix 系の OS だとして、↓ということ?
% mysqldump -d ... | sed -e 's/AUTO_INCREMENT=[0-9]*//'
オプションでも何とかできるのかもしれないけど、削っちゃいたいものがはっきりしてるなら、削った方が面倒が無いかな、なんて。
http://d.hatena.ne.jp/sakaik/20101029/dangerous_mysqldump
http://kwappa.txt-nifty.com/blog/2010/02/mysql-ebf8.html
MySQL独自オプションを外す指定は可能ですが、ENGINE=InnoDB も一緒に
無くなってしまうので、1番目の回答者の方のようにsedで文字列置換
するほかなさそうです。
ENGINE=InnoDB も一緒に無くなってしまって良いなら
mysqldump -d --skip-create-options
です。
コメント(0件)