沖縄のホームページ制作のクラウドスタイル

沖縄のホームページ SEOはクラウドスタイル

 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© 沖縄のホームページ SEOはクラウドスタイル , 2019 All Rights Reserved.