2017-03-27 14 views
0

私はMySQLで、次の表を持っている:ユニークな値INSERT INTO mysqlの

CREATE TABLE `kampbs` (
`id` int(11) NOT NULL AUTO_INCREMENT, 
`user` varchar(20) COLLATE utf8_danish_ci DEFAULT NULL, 
`k1` varchar(1) COLLATE utf8_danish_ci DEFAULT NULL, 
`k1r` varchar(10) COLLATE utf8_danish_ci DEFAULT NULL, 
`k2` varchar(1) COLLATE utf8_danish_ci DEFAULT NULL, 
`k2r` varchar(10) COLLATE utf8_danish_ci DEFAULT NULL, 
`k3` varchar(1) COLLATE utf8_danish_ci DEFAULT NULL, 
`k3r` varchar(10) COLLATE utf8_danish_ci DEFAULT NULL, 
`week` int(2) DEFAULT NULL, 
`grp` varchar(11) COLLATE utf8_danish_ci DEFAULT NULL, 
PRIMARY KEY (`id`) 
) ENGINE=MyISAM AUTO_INCREMENT=5 DEFAULT CHARSET=utf8 COLLATE=utf8_danish_ci 

は、私は、フォーム、データベース内のフィールドにそのINSERTを持っていますが、それだけでPR週に一度挿入することが可能でなければなりませんユーザー。したがって、 'user'と 'week'の列が一意であるかどうかを確認する必要があります。理にかなっている? :/

のは、ユーザーフリーク」は週13に提出するとしましょう、彼は私が次の$ SQLを使用して、週に一度、再び13

を提出することはできないはずです。

$sql = "INSERT INTO kampbs(user, k1, k1r, k2, k2r, k3, k3r, week, grp) VALUES('$username', '$k1', '$k1r', '$k2', '$k2r', '$k3', '$k3r', '$week', '$grp')"; 
+1

あなたは複合キー(ユーザー、週)にunqiueインデックスを追加する必要があります一意であることを強制されるように、あなたは – scaisEdge

+0

フィールドの組み合わせに一意のインデックスを追加し、あなたのテーブルに制約を追加することができますどの一意でなければならない – Jens

答えて

0

ユーザー/週のカップルが

ALTER TABLE `kampbs` ADD UNIQUE `unique_index`(`user`, `week`); 
+0

ありがとうございます! :) –