sql >> Base de Datos >  >> RDS >> Mysql

tabla mysqldump sin volcar la clave principal

Para resolver este problema, busqué esta pregunta, encontré la respuesta de @pumpkinthehead y me di cuenta de que todo lo que tenemos que hacer es buscar y reemplazar la clave principal en cada fila con NULL para que mysql use el valor predeterminado de auto_incremento en su lugar.

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

Salida original:

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

Salida transformada:

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

Nota:Esto sigue siendo un truco; Por ejemplo, fallará si su columna de incremento automático no es la primera columna, pero resuelve mi problema el 99 % de las veces.