レコードがテーブルに挿入され、値のペアが別のレコードですでに使用されているかどうかを確認するために、MySQLを使用してチェックを実行しようとしています。
シナリオは次のとおりです。
次の列を持つWORKLOGというテーブルがあります。
LOGNO INTEGER UNSIGNED NOT NULL PRIMARY KEY,
HOURNO MEDIUMINT UNSIGNED NOT NULL,
EMPID INTEGER UNSIGNED NOT NULL,
JOBID INTEGER UNSIGNED NOT NULL,
DESCRIPTION TEXT,
つまり、複数のレコードが同じHOURNOとJOBIDのペアを持つことはできません。これは、同じ時間の作業が同じジョブで2回実行されることを意味するためです。各ジョブには独自の時間のトラックがあるため、時間はそれ自体で一意にすることはできません。私は基本的に、複合主キーのような一意のペアを実装しようとしています。
したがって、テーブルに次の行がある場合
(0001,1,0034,2938,"some text")
(0002,2,0034,2938,"some text")
(0003,1,0045,2939,"some text")
(0004,3,0034,2938,"some text")
(0005,2,0056,2939,"some text")
(0006,4,0034,2938,"some text")
(0007,3,0083,2939,"some text")
(0008,4,0083,2939,"some text")
HOURNOとJOBIDのペアがすでに別の行(つまり行0006)に存在するため、以下を追加することはできません。
(0009,4,0056,2938,"some text")
これに対して私ができるチェックはありますか?