[フリーランス]沖縄のホームページ制作・保守管理のクラウドスタイル

[フリーランス]沖縄のホームページ制作・保守管理はクラウドスタイル

 050-5866-6853

営業時間9:00〜18:00

コラム

【解決】【CakePHP】【MySQL】Error: SQLSTATE[22003]: Numeric value out of range: 167 Out of range value for column 'id' at row 1

更新日:

CakePHPで開発を行っているとさまざま問題にぶつかります。

CakephpではデータベースをMySQLを使用している場合は、テーブルの「id」からむや「modified」「created」など固定された
特殊なカラムが必要になってきます。
(使わなくてもいけるかもですが、、)
特に「id」カラムは、オートインクリメント(autoincrement)をONにして、NULLをOFFにして、自動連番をさせることが必須です。
このidカラムは、データベースの「更新」の時は、必ず必要で、更新時にidを明記しないと「追加」になってしまいます。
このidカラムに、間違って大きな値を入れてしまう、例えば、1,2,3,40,20192049504839429349504をINTで入れてしまうと下記のようなエラーに
なって、それ以降は、テーブルにデータが入りません

正しいIDを入力するもしくは、IDを無しに「追加」する場合でも、エラーで全くデータが入らない。。。
僕の場合は、このテーブルにはカラムが100個近くあるので、テーブルを再度作り直すことも絶対に避けたい。
そんな時の解決策は、こんなことで解決しました。
phpMyAdimを使います。

1,idのAUTO_INCREMENTを一旦OFFにする

2,再度、AUTO_INCREMENTをONにする

 

これで、このエラーは回避できて、データが正しく挿入されます。
しかも、前に入っているIDの続きからIDをふってくれます!!

-コラム

Copyright© [フリーランス]沖縄のホームページ制作・保守管理はクラウドスタイル , 2024 All Rights Reserved.