方法:

unique index(字段一,字段二)

例子:

CREATE TABLE IF NOT EXISTS `ppserver`.`eventTable`(
   `userId`         INT UNSIGNED      NOT null,
   `taskId`         INT UNSIGNED      NOT null,
   `date`           TIMESTAMP         DEFAULT CURRENT_TIMESTAMP,
   `createTime`     TIMESTAMP         DEFAULT CURRENT_TIMESTAMP,
   `endTime`        TIMESTAMP         DEFAULT CURRENT_TIMESTAMP,
   `taskStatus`     INT               DEFAULT NULL,
   `addGoldCoin`    int               DEFAULT NULL,
   `addCash`        FLOAT             DEFAULT NULL,
   `eventId`        INT UNSIGNED AUTO_INCREMENT DEFAULT null,
   unique index(`userId` ,`taskId`,`date`),
   PRIMARY KEY ( `eventId`)


相关推荐

mysql设置某字段唯一

1.建表时加上唯一性约束 CREATE TABLE `t_user` (`Id` int(11) NOT NULL AUTO_INCREMENT,`username` varchar(18) NOT

mysqlsqlite 在某字段后面追加符串

mysql在某个字段的最后面 追加一个字符串:$sql="update 表名 set 某字段=CONCAT(某字段,'要追加的字符串') where id =123"

mysql查询字段忽略大小写

//问题:mysql的字符集改成严格区分大小写后,模糊搜索的时候不能忽略大小写。//解决方案:把数据库字段转为小写,like后的参数也都转为小写 SELECT *FROM 表名 LOWER(字段

mysql字段数量限制与字段数量对速度的影响

mysql字段数量和一些最大限制:mysql最多可以多少个字段?答:1024个字段mysql每行的数据长度最大是多少?答:8092字节mysql每个库最多可以有多少个表?答:20亿个表mysql的查询

mysql修改字段名语句

最简单的语句ALTER TABLE 表名 CHANGE 旧字段名 新字段名 新数据类型;必须带上新的数据类型 修改后 注释也没了 如果要加注释和属性 可以紧跟后面加上去,例如: ALTER TABL

sqlite创建索引语句 添加索引 增加索引

mysql创建索引alter table 表名 add index 索引名 (列名);sqlite创建索引:CREATE INDEX 索引名 ON 表名 (字段a,字段b);

sqlite索引不区分大小写 COllATE NOCAsE

一直以为如果查询不加order by 就会默认按照自增id顺序排列呢 偶然发现不加order by id的顺序竟然不是顺序的.经过了解发现原来跟索引的创建方式也有关系,创建索引时,以下选项会影响结果的

sqlite查询列出某字段有重复数据

sqlite3 查询列出 指定字段有重复的行数据select * from 表名称 WHERE (字段名) IN (SELECT 字段名 FROM 表名称 GROUP BY 字段名 HAVING

mysql sqlite取表内最大id语句 取最新插入id 取表行数

取最大ID方法一:select MAX(id) from 表名 方法二:select * from sqlite_sequence where name='表名' 以上两种方法 500

mysql sqlite 删除旧数据 只保留最新的100条

完整语句:delete from _sql执行记录 where id in (select id from _sql执行记录 order by id desc limit 100,100000)del