フィールドを持つテーブルがあります
従業員ID
何とか
blahblah2
.....
RecordMonth
RecordYear
では、従業員IDを月に1回更新できるが、一致する月と年に2つのエントリがないようにテーブルを設定するにはどうすればよいですか。
複合主キーを使用します。
CREATE TABLE yourtable
(
employeeid INT,
blahblah VARCHAR(255),
blahblah2 VARCHAR(255),
recordmonth DATE,
recordyear DATE,
PRIMARY KEY (employeeid, recordmonth, recordyear)
)
テーブルが既に存在する場合は、古い主キーを削除します。
ALTER TABLE yourtable
DROP PRIMARY KEY;
そしてそれを再作成します:
ALTER TABLE yourtable
ADD PRIMARY KEY (employeeid, recordmonth, recordyear);