sql >> データベース >  >> RDS >> Mysql

主キーをダンプせずにmysqldumpテーブル

    この問題を解決するために、私はこの質問を調べ、@ pumpkintheheadの答えを見つけました。そして、mysqlが代わりにデフォルトのauto_increment値を使用するように、各行の主キーを検索してNULLに置き換えるだけでよいことに気付きました。

    (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%の確率で問題は解決します。



    1. postgresがデータベースを作成しないのはなぜですか?

    2. group_concatMYSQL改行

    3. MySQL-INSERT、VALUES、およびSELECTを組み合わせますか?

    4. MySQLまたはMariaDBのデータベースベンダーロックインの回避