msqlのAuto_incrementの確認

このコマンド

mysql> show table status like 'test_table'\G
*************************** 1. row ***************************
           Name: test_table
         Engine: InnoDB
        Version: 10
     Row_format: Compact
           Rows: 2875
 Avg_row_length: 552
    Data_length: 1589248
Max_data_length: 0
   Index_length: 0
      Data_free: 25165824
 Auto_increment: 5148 ←ここ
    Create_time: 2017-06-09 12:05:53
    Update_time: NULL
     Check_time: NULL
      Collation: utf8_general_ci
       Checksum: NULL
 Create_options:
        Comment:
1 row in set (0.01 sec)

インサートができなくて困ったときがありました。

Duplicate entry for primary key

で怒られるときがあって、上記コマンドでみてみると

Auto_increment: NULL

でした。Auto_incrementが解除されているような状態です。Auto_incrementの追加とすでに付番されている番号より1多い番号からAuto_incrementを再設定すします。

Last update: 2017.06.09 (金)