我想知道是否可以使用他们的ID和游戏ID来创建一个包含用户登录信息的表,该ID只能每天显示一次。
所以我需要的是基本上每次用户登录时都会记录他们的id,game-id和他们的日志,我希望他们的id和game-id在一天中对于该日志是唯一的,所以db只会在1-1-14上记录一次用户123游戏A,如果用户在同一天再次登录,则不会再次记录。但是会在2-1-14再次登录,但如果是用户1234游戏B,可以在1-1-14再次登录用户
如果不是很好的解释或标题= P ,请提前抱歉TABLE A
USERID GAMEID TIME
123 A 1-1-14
123 B 1-1-14
123 A 2-1-14
答案 0 :(得分:1)
如果您将主键全部设为三个字段(userid,gameid,time),那么它将不允许您插入所谓的重复字段。如果不能选择主键,那么只需使用unique。
CREATE TABLE A (
userid ...,
gameid ...,
time ...,
UNIQUE (userid, gameid, time)
);
这使得userid,gameid和time的组合是唯一的,或者不允许重复。如果创建新表不是允许的选项,那么您还可以使用以下内容:
ALTER TABLE A ADD UNIQUE (userid, gameid, time)
...但你需要确保在运行之前没有任何重复项。
请注意,根据您用于发送SQL请求的任何技术,您可能必须处理由于存在重复项而导致插入失败的错误。
答案 1 :(得分:0)
CREATE table tbl (
USERID int,
GAMEID int,
primary key(USERID , GAMEID );
我认为你想做复合键..可以使用这段代码
答案 2 :(得分:0)
SQL UNIQUE约束
请注意,每个表可以有多个UNIQUE约束,但每个表只有一个PRIMARY KEY约束