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

SET IDENTITY_INSERT postgresql

    set identity_insertは必要ありません Postgresで。

    データをテーブルに挿入するだけです。

    ただし、実行する必要があるのは、setval()を使用して、シリアル(「自動インクリメント」)列の背後にあるシーケンスを再同期することです。 機能:

    select setval(pg_get_serial_sequence('my_table', 'my_serial_column'), 
                  (select max(my_serial_column) from my_table) 
           ); 
    

    列がserialとして定義されていない場合 ただし、「only」にはシーケンスから取得されたデフォルト値があるため、シーケンス名を「手動で」指定する必要があります

    select setval('my_sequence_name', (select max(my_serial_column) 
                                       from my_table)
           ); 
    

    編集

    SQLFiddleの例を次に示します。 http://sqlfiddle.com/#!15/690ea/1




    1. plv8は、eval()の実行および準備関数を無効にします

    2. MySQLDBでトランザクションが機能しない

    3. PHPメール検証リンクの最も簡単な方法

    4. すべての行が条件を満たすMySQLで選択