За да реша този проблем, потърсих този въпрос, намерих отговора на @pumpkinthehead и разбрах, че всичко, което трябва да направим, е да намерим + заменим първичния ключ във всеки ред с NULL, така че mysql да използва вместо това стойността на auto_increment по подразбиране.
(your complete mysqldump command) | sed -e "s/([0-9]*,/(NULL,/gi" > my_dump_with_no_primary_keys.sql
Оригинален изход:
INSERT INTO `core_config_data` VALUES
(2735,'default',0,'productupdates/configuration/sender_email_identity','general'),
(2736,'default',0,'productupdates/configuration/unsubscribe','1'),
Трансформиран изход:
INSERT INTO `core_config_data` VALUES
(NULL,'default',0,'productupdates/configuration/sender_email_identity','general'),
(NULL,'default',0,'productupdates/configuration/unsubscribe','1'),
Забележка:Това все още е хак; Например, ще се провали, ако колоната ви за автоматично увеличение не е първата колона, но решава проблема ми в 99% от времето.