プライマリキーがCODE_TARIF, UNITE, MODE_LIV
の3つの列で構成されるテーブルがあります。私のテーブルには、MODE_LIV = 2
という3つのレコードがあります。次に、MODE_LIV = 4
というレコードを挿入します。SQL INSERT違反プライマリキー
INSERT INTO T_TARIF (
CODE_TARIF, ZONE, UNITE, MODE_LIV, LIBELLE, TR_DEBUT, TR_FIN, MONTANT
)
SELECT 'Livr_A_50_99', '2', '1', '4', 'sdg', '50', '99', '90'
UNION ALL
SELECT 'Livr_A_50_99', '2', '1', '4', 'sdg', '50', '99', '90'
UNION ALL
SELECT 'Livr_A_50_99', '2', '1', '4', 'sdg', '50', '99', '90'
はMODE_LIV = 2
がMODE_LIV = 4
に等しくないので、任意の意味をなさないエラー(主キーの違反)を返します。
自動増分ID列として代理キーを追加できますが、私の状況ではオプションではありません。
と同一ではないように、あなたはPKのすべての列に同じ値を3行を挿入している、あなたのデータを変更します。 (実際にはすべての非PK列) –