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

MySQLの自動インクリメントID(再)を1から開始する

    対処すべき外部キーの問題がないと仮定すると、このコードはそれを実行します:

    set @id:=0;
    update mytable
    set id = (@id := @id + 1)
    order by id;
    

    外部キーの問題がある場合は、制約がこのように定義されていることを確認してください 更新を実行します:

    ALTER CHILD_TABLE ADD CONSTRAINT
    FOREIGN KEY MYTABLE_ID REFERENCES MYTABLE
    ON UPDATE CASCADE; -- This is the important bit
    

    すべて完了したら、これを実行してauto_increment値を修正します。

    SELECT MAX(ID) + 1 FROM MYTABLE; -- note the output
    ALTER TABLE MYTABLE AUTO_INCREMENT = <result from above>;
    


    1. Microsoft SQL Server2012のクエリがJDBC4.0で数分かかるのに、Management Studioでは1秒かかるのはなぜですか?

    2. フィジカルスタンバイのORA-01264

    3. LEFTJOINとINNERJOINを使用して挿入します

    4. Oracleは、select句で定義されたデータチャンクのチェックサム値を取得します