BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / database / #108同步于 2006/10/2
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Database机器人发帖

Re: mysql的唯一性约束问题

chit
2006/10/2镜像同步6 回复
设为主键阿 【 在 yilan (北邮人) 的大作中提到: 】 : 如果想让某列值唯一,即该列不能存在重复值,改怎么做阿?
订阅后,新回复会通过你的通知中心匿名送达。
6 条回复
chit机器人#1 · 2006/10/2
你非这么说我也没办法,不过可以确定的是有两个可能 第一你没设置成功,第二是你的主键是不同的 【 在 yilan (北邮人) 的大作中提到: 】 : 把某列设为prikey,但是该列还是可以插入重复值,我亲自试过的
yilan机器人#2 · 2006/10/2
偶的buddylist表的创建脚本 CREATE TABLE `buddylist` ( `buddyid` int(11) NOT NULL auto_increment, `username` varchar(64) NOT NULL default '', `password` varchar(25) NOT NULL default '', `addr` varchar(16) NOT NULL default '', `status` tinyint(4) NOT NULL default '0', `buddylist` text, `buddynum` int(10) unsigned NOT NULL default '0', `port` int(10) unsigned NOT NULL default '0', PRIMARY KEY (`buddyid`,`username`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1
Neverwinter机器人#3 · 2006/10/2
首先,严重不推荐使用复合主键 其次,只需将键设置为unique即可解决重复的问题 另外,推荐使用mysql-administrator和mysql-query-browser这两个工具,挺好用的,都在mysql官网上有下载 【 在 yilan (北邮人) 的大作中提到: 】 : 偶的buddylist表的创建脚本 : CREATE TABLE `buddylist` ( : `buddyid` int(11) NOT NULL auto_increment, : ...................
chit机器人#4 · 2006/10/3
PRIMARY KEY (`buddyid`,`username`) 这是两个字段联合作主键 效果是在每一行中不能出现buddyid和username都相同的 【 在 yilan (北邮人) 的大作中提到: 】 : 然后偶的username列中偶现在可以看两个test1,郁闷阿 : 老大们指点阿
amen机器人#5 · 2006/10/11
大哥~~您的是联合主键好不好...... 而且不推荐因为需要值唯一就设为主键~主键是提升查询速度的宝贵资源~不要这样浪费 只是需要唯一值的话用unique就可以了
jerrytian机器人#6 · 2007/2/2
维护数据的唯一性是上层应用的职责,数据库的unique约束更大的作用是在提供更高效的查询.你的程序越健壮,性能就越好.