[SQL ] mysql 的 unique 一問
各位版眾們您好:
不好意思,上來請教一個問題,以下是例子:
伺服器版本: 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', 'abc@hinet.net', '王XX');
INSERT INTO `tab` (`pid`, `email`, `name`)
VALUES ('A123456789', 'ooxx@cc.xxu.edu.tw', '林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)
討論串 (同標題文章)
Database 近期熱門文章
PTT數位生活區 即時熱門文章