
'SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry '2147483647' for key 'hoge'
・「Duplicate entry」と表示されたので重複エラーかと思ったのですが、コードを見ても良く分かりませんでした
・そこで再度検索したら、「'2147483647'」まで含む同じエラーが幾つかヒットしました
https://www.google.co.jp/search?q=Fatal+error%3A …
■質問
・エラーの意味を教えてください
・「'2147483647'」には何か特別な意味があるのでしょうか?
※エラー見た時は、'hoge'カラムに「'2147483647'」があって、それが重複されていると思っていたのですが…
■環境
・MySQL
No.1ベストアンサー
- 回答日時:
> ・エラーの意味を教えてください
あなたが理解したとおり、'2147483647'というエントリーが重複した値を許さないカラムであるhogeに既にあって、それを更に登録しようとしているということだと思います。
> ・「'2147483647'」には何か特別な意味があるのでしょうか?
32bit 符号付き整数型の最大値ですよね。
hogeに入力される値の初期値や異常値としてINT_MAXを使っていたりしませんか?
その問題が出るテーブルで次を実行したら、なにか表示されませんか?
SELECT * FROM テーブル名 WHERE hoge='2147483647';
とりあえず、修正方法としてはINT_MAXが入った値がなぜRDBに登録されたかを調べ、それが入らないようにエラー表示をするようにコードを変えることでしょうね。
この回答への補足
・回答ありがとうございました
・追加で2点教えてください
1.MySQLでINT型の最大値を超えたデータを格納しようとするとどうなるのでしょうか?
2.「2147483647」より大きい数値を格納できる型には何があるでしょうか?
■補足
・hogeカラムには既に'2147483647'カラムが格納されているのですが、この時、最大値を越えた値を格納しようとすると、このエラーが出るような気がします
・もしかして、INT型最大値を超えた場合は、自動的に最大値が格納される決まりがあるのでしょうか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
MAMPで80ポートが使用されている...
-
SQL文についての質問です。
-
「重複を間引いた数」をcountし...
-
「ストレージエンジン」とは何か
-
同一日に複数レコードがある場...
-
MAMP 99ドル約1.6万円 高い...
-
あってますか?SQL
-
WHERE `年月日` = '晴' OR `年...
-
SQLです教えてくださいお願いし...
-
SQLを作ったのですがうまくいき...
-
(初心者)MySQLやmaraDBで、crea...
-
SQLです教えてくださいお願いし...
-
SQLです教えてくださいお願いし...
-
SQLです教えてください。
-
SQLです教えてくださいお願いし...
-
SQLです教えてくださいお願いし...
-
SQLです教えてくださいお願いし...
-
utf8bomとutf8mb4の違いがいま...
-
「総降水量が100mm以上になる...
-
SQLで漢字名称を都道府県や市区...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
SQLのエラー(~付近に不適切な...
-
PostgreSqlでFunctionの作成に...
-
Oracle 8i コンマ(,)を含むデ...
-
GROUP BYでエラーが発生
-
ACCESS ADOでupdateが効かない
-
エクセルマクロで指定範囲内の...
-
エクセルからSQLサーバー ...
-
バッチファイルからのBCP起動に...
-
ACCESS2000ディスクまたはネッ...
-
SQLServerが存在しないか、アク...
-
エクセルのグループボックス枠...
-
オブジェクト名 '<table>' が無...
-
何も表示されない実行時エラー...
-
ACCESSで作成したアプリケーシ...
-
sqlで文字列を最後に追加したい
-
nvarchar型で指定して文字列幅...
-
Access2000環境に対応するMid関...
-
ORA-1036??
-
レポートが開けない。
-
BCPコマンドのリダイレクト値が...
おすすめ情報