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

MySQL/MariaDBデータベースの自動インクリメント値を変更する方法

    ほとんどすべてのデータベーステーブルには、識別子として機能する一意の列があり、新しいレコードごとにデータベースエンジンによってauto_incrementされる値があります。自動増分値はデータベースのテーブルのスキーマに格納されており、通常は変更できません。次の自動増分シーケンス番号はデータベースによって自動的に計算され、レコードと一緒にテーブルに挿入されます。

    このチュートリアルでは、auto_increment値をMySQLまたはMariaDBで必要な数に変更する方法を示します。たとえば、自動インクリメント値を1ではなく100の大きい数値から開始するには(新しいテーブルのデフォルト)。

    方法1:テーブルを変更する

    次のクエリを実行します:

    ALTER TABLE tbl_name AUTO_INCREMENT = x;

    tbl_nameを置き換えます 実際のテーブル名とx 7などの好きな番号を使用します。

    注「ALTERTABLE」クエリを実行すると、一部のMySQLバージョンでテーブル全体が再構築される可能性があるため、大規模なデータベースには注意して使用してください。

    方法2:自動インクリメント値を挿入する

    次のクエリを実行します:

    BEGIN WORK;
    INSERT INTO tbl_name (ID) VALUES (x);
    ROLLBACK;

    tbl_nameを置き換えます 実際のテーブル名、 ID auto_increment属性を持つ実際の列名、および x 7などの好きな番号を使用します。

    上記のクエリは、MySQLまたはMariaDBデータベースをだまして、強制されたauto_increment値を使用します。この値は、次のトランザクションで使用する現在および最新のauto_incrementシーケンスとして記憶されます。開始してロールバックし、トランザクションがデータベースにまったく挿入されていないことを確認します。上記の「INSERTINTO」クエリを機能させるには、他の必須の列と値も追加する必要があることに注意してください。


    1. 返されたUriからデータベースに挿入された新しいレコードのIDを取得します

    2. SQLintersectionのためにラスベガスに参加して$100を節約

    3. 2つの異なるテーブルの列sqlite3に結合します

    4. MariaDB CHARACTER_LENGTH()の説明