2017-03-27 40 views
0

我在MySQL中,下表:獨特的值時插入到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 INTO在數據庫中的字段,但它應該只是可以插入每週一次公關用戶。所以它應該檢查'user'和'week'是否是唯一的。合理? :/

假設用戶「怪胎」在13個星期提交,他不應該能在本週再次提交13

我用下面的$ sql中:

$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

非常感謝你! :) –