MySQL の AutoIncrement が足りなくなった場合の対応

(Comments)

MySQLdb._exceptions.OperationalError: (1467, 'Failed to read auto-increment value from storage engine')


Django で、暗黙の id を指定していると、auto increment 値が上限値に達したとき上記のエラーが出る。

DBの確認

SELECT AUTO_INCREMENT
FROM information_schema.tables
WHERE TABLE_SCHEMA = 'my_schema'
AND TABLE_NAME = 'my_table';
AUTO_INCREMENT
2147483647

SHOW CREATE TABLE my_table;

CREATE TABLE `my_table` (
`id` int(11) NOT NULL AUTO_INCREMENT,
...

モデルの修正

id = models.BigAutoField(primary_key=True)

を追加

./manage.py makemigrations
./manage.py migrate
SHOW CREATE TABLE my_table;

CREATE TABLE `my_table` (
`id` bigint(20) NOT NULL AUTO_INCREMENT,
...

Currently unrated

Comments

Recent Tweets

  • ytyng

    ytyng @ytyng

    apple developer の、テスト用デバイスのUDIDを1年ごとにチェックして、古い端末を消しちゃうやつ チェックボックスを入れたのを残すのか、消すのかの判断まちがって、全部のUDID消えたわ
    1 month, 1 week ago

  • ytyng

    ytyng @ytyng

    うちの会社 TORICO の 代表が今TV出てます #漫画全巻ドットコム #激レアさんを連れてきた
    1 month, 2 weeks ago

  • ytyng

    ytyng @ytyng

    Proofpoint にブロックされているIPアドレスからでも icloud など Apple メールアドレスにメール送信されてもブロックされてない…?
    2 months, 1 week ago

Recent Posts

Archive

2020
2019
2018
2017
2016
2015
2014
2013
2012
2011

Categories

Authors

Feeds

RSS / Atom