mysql如何实现某几个mysql 字段数据不重复不重复插入数据

MYSQL添加不重复的数据_百度知道
MYSQL添加不重复的数据
我变化中已经有数据,year 和month 是主键,我想新插入的数据,只要有一列不同(主键可以相同),就可以插入,为了实现这个功能我写了如下代码,但是执行报错error 1064,请问高手怎么改呢?
insert into `table`(`Year`,`Month`,`Event`,`SCOR Pr...
我有更好的答案
主键没有着明确的概念定义,其是索引的一种,并且是唯一性索引的一种,且必须定义为“PRIMARY KEY”,主键不能重复,一个表只能有一个主键。
1、声明主键的方法:
您可以在创建表的时候就为表加上主键,如:
CREATE TABLE tbl_name ([字段描述省略...], PRIMARY KEY(index_col_name));
也可以更新表结构时为表加上主键,如:
ALTER TABLE tbl_name ADD PRIMARY KEY (index_col_name,…);
创建一个qq表,将qq_id设为主键,且没有对其进行NOT NULl约束
create table qq(
qq_id int(10),
nick_name varchar(255) not null,
primary key (qq_id))
插入一条数据,将qq号设为10000(咱也幻想一下),昵称设为&simaopig&
INSERT INTO qq( qq_id, nick_name )
'10000', 'simaopig');
主键被认为是NOT NULL和UNIQUE约束最好的结合。如果这些列没有被明确地定义为NOT NULL,MySQL会隐含地定义这些列。
3、主键也是索引:
刚才已经说了,主键其实也是索引,甚至在MySQL的术语里面“键”就等于“索引”,所以“外键”一定要先设为“索引”。所以主键也应该和索引一样,既可以作用于单独的字段,又可以作用于多个字段。
举个简的例子吧,我住3单元,501室,我叫小小子,那么只有3单元501室才能在本小区表里面唯一确定我家。因为2单元,501室住着的可能也是个小小子,所以只有两个字段才能唯一确定我,也就是说可以二者组合作为主键。组合的主键,每个列都会隐含定义NOT NULL约束,且其二者加在一起被定义了UNIQUE 惟一约束。
创建防火墙表,将host 和port组合设为主键,注意我没有将port设NOT NULL约束
create table firewall(
host varchar(11) not null,
port smallint(4),
access enum('deny', 'allow') not null,
primary key (host,port))
插入一条新的记录,没有啥问题
1 row(s) inserted.
INSERT INTO firewall (
'202.65.3.87', '21', 'deny');
采纳率:50%
为您推荐:
其他类似问题
吐奶的相关知识
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。msyql中查询某个字段的不重复的所有记录
& select * from a
+----+------+--------------+
| id | name | descri
+----+------+--------------+
| 我是第一个a1 |
| 我是第一个a2 |
| 我是第二个a1 |
| 我是第二个a2 |
+----+------+--------------+
5 rows in set
mysql& select a1.* from a a1 right join (select max(id) id from a group by name) a2 on a1.id = a2.id where a1
+----+------+--------------+
| id | name | descri
+----+------+--------------+
| 我是第二个a1 |
| 我是第二个a2 |
+----+------+--------------+
3 rows in set情景再现:
用户在提交信息时进行了多次提交导致表中有很多重复记录。
解决方法:
查询按多个字段同时不重复的记录,比如按姓名(name)和电话(tel)。
SELECT * FROM test WHERE id IN (SELECT MAX( id ) FROM test GROUP BY name, tel)
查询结果:
符文门将是一个具有挑战性的益智游戏,你需要移动的符文来创建一个模式,完成的水平来进行通关。 符文门将是一个具有挑战性的益智游戏,你需要移动的符文来创建一个模式,完成的水平来进行通关。
儿童教育专家说,难题是加强批判性思维技能,是年幼的孩子增强大脑的最?佳方法之一。拼图可以教给孩子们这个技能,教会学前和蹒跚学步的孩子如何识别形状,字母和词汇。
《小宝认数字》是一款数字教育启蒙应用,从游戏的趣味中认识数字,让认识数字变得生动有趣起来,小宝宝再也不会感到厌倦烦恼了,快来让小宝宝一起来认识数字吧!
“天天斗地主”是途游游戏斗地主系列产品又一倾心力作,它集成了欢乐、单机、癞子、比赛、二人等多种玩法。游戏节奏快、炸弹满屏飞。游戏占用手机空间小,流量消耗超级低,运行流畅!无论在办公室、公交车、地铁,还是在家里随时都可畅玩!09:20 提问
mysql数据库如何设置一个字段不重复,一个字段自增?
mysql数据库如何设置一个字段不重复,一个字段自增?
按赞数排序
CREATE TABLE t_user (Id int(11) NOT NULL AUTO_INCREMENT,
-- 自增username varchar(18) NOT NULL unique,
-- 唯一性约束password varchar(18) NOT NULL,
PRIMARY KEY (Id)
) ENGINE=InnoDB AUTO_INCREMENT=1018 DEFAULT CHARSET=
----------------------biu~biu~biu~~~在下问答机器人小D,这是我依靠自己的聪明才智给出的答案,如果不正确,你来咬我啊!
Id int(20) NOT NULL
AUTO_INCREMENT, -- 字段自增
username varchar(18) NOT NULL
unique, -- 唯一性约束
楼上的代码就是创建一个t_user表,你执行那个SQL语句就创建一个表了
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐共被编辑 4 次
mysql如何实现当天不能重复插入数据
字段为主要为ID product_name key_value以及其他的
怎么实现key_value的值当天不能重复插入,第二天就可以重复插入。
网上搜到的是字段所有的值不能重复。。
insert into tb(name,age) select 'fox',20 from DUAL where not EXISTS(select name from tb where name='fox')
没有values,这句话没看懂是怎么插入数据的
mysql如何实现当天不能重复插入数据
字段为主要为ID product_name key_value以及其他的
怎么实现key_value的值当天不能重复插入,第二天就可以重复插入。
网上搜到的是字段所有的值不能重复。。
insert into tb(name,age) select 'fox',20 from DUAL where not EXISTS(select name from tb where name='fox')
没有values,这句话没看懂是怎么插入数据的
奇了怪?那要我怎么描述???,审核2次还不过?
mysql如何实现当天不能重复插入数据
字段为主要为ID product_name key_value以及其他的
怎么实现key_value的值当天不能重复插入,第二天就可以重复插入。
网上搜到的是字段所有的值不能重复。。
insert into tb(name,age) select 'fox',20 from DUAL where not EXISTS(select name from tb where name='fox')
没有values,这句话没看懂是怎么插入数据的
mysql如何实现当天不能重复插入数据
字段为主要为ID product_name key_value以及其他的
怎么实现key_value的值当天不能重复插入,第二天就可以重复插入。
网上搜到的是字段所有的值不能重复。。
我要该,理由是:

我要回帖

更多关于 mysql 字段重复记录 的文章

 

随机推荐