sql >> Databáze >  >> RDS >> Mysql

tabulky mysqldump bez vyprázdnění primárního klíče

Abych tento problém vyřešil, vyhledal jsem tuto otázku, našel jsem odpověď @pumpkinthehead a uvědomil jsem si, že vše, co musíme udělat, je najít a nahradit primární klíč v každém řádku hodnotou NULL, aby místo toho mysql použil výchozí hodnotu auto_increment.

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

Původní výstup:

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

Transformovaný výstup:

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

Poznámka:Toto je stále hack; Například selže, pokud váš sloupec automatického zvýšení není prvním sloupcem, ale v 99 % případů vyřeší můj problém.



  1. Je bezpečné ukládat data jako řetězec v mysql?

  2. Jak mohu zadat jedinečné omezení pro více sloupců v MySQL?

  3. náhodná čísla v java

  4. Rozdělení hodnoty mysql na neznámý počet částí