Mysql
 sql >> Database >  >> RDS >> Mysql

tabella mysqldump senza eseguire il dump della chiave primaria

Per risolvere questo problema, ho cercato questa domanda, ho trovato la risposta di @pumpkinthehead e mi sono reso conto che tutto ciò che dobbiamo fare è trovare + sostituire la chiave primaria in ogni riga con NULL in modo che mysql utilizzi invece il valore predefinito auto_increment.

(your complete mysqldump command) | sed -e "s/([0-9]*,/(NULL,/gi" > my_dump_with_no_primary_keys.sql

Uscita originale:

INSERT INTO `core_config_data` VALUES
    (2735,'default',0,'productupdates/configuration/sender_email_identity','general'),
    (2736,'default',0,'productupdates/configuration/unsubscribe','1'),

Output trasformato:

INSERT INTO `core_config_data` VALUES
    (NULL,'default',0,'productupdates/configuration/sender_email_identity','general'),
    (NULL,'default',0,'productupdates/configuration/unsubscribe','1'),

Nota:questo è ancora un hack; Ad esempio, fallirà se la tua colonna di incremento automatico non è la prima colonna, ma risolve il mio problema il 99% delle volte.