SQL/データベースエラーエラー
2350523505 — 一意制約違反
INSERT または UPDATE が一意制約または主キーに違反した。
postgresql
このエラーの原因
UNIQUE 制約または PRIMARY KEY を持つカラムに既存の値を挿入しようとしている。
修正方法
INSERT ... ON CONFLICT (PostgreSQL) または ON DUPLICATE KEY UPDATE (MySQL) を使用する。挿入前に重複の有無を確認する。
例
-- unique_violation
INSERT INTO users (email) VALUES ('dup@test.com');
-- Fix: use ON CONFLICT
INSERT INTO users (email) VALUES ('dup@test.com')
ON CONFLICT (email) DO UPDATE SET updated_at = NOW();関連するエラーコード
SQL/データベースエラーエラー
4270442704 — 未定義のオブジェクト
指定されたデータベースオブジェクト(型、演算子、関数)が存在しません。
postgresql
詳細を表示 SQL/データベースエラーエラー
SQLITE_RANGE (25)SQLITE_RANGE (25) — パラメータインデックスが範囲外
sqlite3_bindに渡されたパラメータインデックスが範囲外です。
sqlite
詳細を表示 SQL/データベースエラーエラー
0800308003 — 接続が存在しない
指定されたデータベース接続が存在しないか、すでにクローズされている。
postgresql
詳細を表示 SQL/データベースエラーエラー
MySQL 1406MySQL 1406 — データがカラムに対して長すぎます
データの値がカラムの最大長を超えています。
mysql
詳細を表示 SQL/データベースエラーエラー
2200722007 — 無効な日時フォーマット
日付・時刻・タイムスタンプの値が無効なフォーマットである。
postgresql
詳細を表示 SQL/データベースエラーエラー
55P0355P03 — ロック取得不可
待機せずに要求されたロックを取得できませんでした。
postgresql
詳細を表示