作者ogrechen (ogrechen)
看板Database
标题[SQL ] mysql 的 unique 一问
时间Tue May 22 20:56:16 2007
各位版众们您好:
不好意思,上来请教一个问题,以下是例子:
伺服器版本: 4.1.21-community-nt
以下是资料表 tab 的内容
[tab]
mid: 会员编号 (primary) - auto_increment
pid: 身分证字号 (unique)
email: 电子邮件 (unique)
name: 姓名
...
...
(ps:上述中的 primary, 与unique的建立方式如下)
PRIMARY KEY (`mid`),
UNIQUE KEY `uniq` (`pid`,`email`)
因为程式需求,pid与email皆不可以重复
###################################################################
[以下是我的问题]
我的问题是, 当我要 insert 资料时, 如下:
INSERT INTO `tab` (`pid`, `email`, `name`)
VALUES ('
A123456789', '
[email protected]', '王XX');
INSERT INTO `tab` (`pid`, `email`, `name`)
VALUES ('
A123456789', '
[email protected]', '林XX');
两笔资料都可以顺利存入资料库当中!!!!!!!!!!!!!!!!
可是 '
A123456789' 明显不满足 UNIQUE 的特性
请教各位版友,这到底是甚麽原因呢????
##################################################################
ps: 但如果把 unique key 建立的方式改成
UNIQUE KEY `uniq` (`pid`),
UNIQUE KEY `uniq2` (`email`)
就不会造成上述的问题
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 220.139.131.127
※ 编辑: ogrechen 来自: 220.139.131.127 (05/22 20:57)
※ 编辑: ogrechen 来自: 220.139.131.127 (05/22 21:02)