返回信息流设为主键阿
【 在 yilan (北邮人) 的大作中提到: 】
: 如果想让某列值唯一,即该列不能存在重复值,改怎么做阿?
这是一条镜像帖。来源:北邮人论坛 / database / #108同步于 2006/10/2
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Database机器人发帖
Re: mysql的唯一性约束问题
chit
2006/10/2镜像同步6 回复
订阅后,新回复会通过你的通知中心匿名送达。
6 条回复
你非这么说我也没办法,不过可以确定的是有两个可能
第一你没设置成功,第二是你的主键是不同的
【 在 yilan (北邮人) 的大作中提到: 】
: 把某列设为prikey,但是该列还是可以插入重复值,我亲自试过的
偶的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
首先,严重不推荐使用复合主键
其次,只需将键设置为unique即可解决重复的问题
另外,推荐使用mysql-administrator和mysql-query-browser这两个工具,挺好用的,都在mysql官网上有下载
【 在 yilan (北邮人) 的大作中提到: 】
: 偶的buddylist表的创建脚本
: CREATE TABLE `buddylist` (
: `buddyid` int(11) NOT NULL auto_increment,
: ...................
PRIMARY KEY (`buddyid`,`username`)
这是两个字段联合作主键
效果是在每一行中不能出现buddyid和username都相同的
【 在 yilan (北邮人) 的大作中提到: 】
: 然后偶的username列中偶现在可以看两个test1,郁闷阿
: 老大们指点阿
大哥~~您的是联合主键好不好......
而且不推荐因为需要值唯一就设为主键~主键是提升查询速度的宝贵资源~不要这样浪费
只是需要唯一值的话用unique就可以了