關於數據庫字段不是主鍵可是也不能重複的問題解決辦法:數據庫
1.建立表時設置:spa
CREATE
TABLE
`user` (
`Id`
int
(11)
NOT
NULL
AUTO_INCREMENT,
-- 自增
`
name
`
varchar
(50)
NOT
NULL
unique
,
-- 惟一性約束 (若是是單個字段不可重複,能夠用惟一主鍵)
`phone`
varchar
(18)
NOT
NULL
,
`mail`
varchar
(18)
NOT
NULL
,
UNIQUE
KEY
(`phone`,`mail`),
-- 聯合惟一性約束 (若是是兩個字段都不可重複,能夠用聯合惟一主鍵)
PRIMARY
KEY
(`Id`)
) ENGINE=InnoDB AUTO_INCREMENT=1018
DEFAULT
CHARSET=gbk;
ALTER
TABLE
`user`
ADD
UNIQUE
KEY
(`
name
`);
-- 惟一約束
ALTER
TABLE
`user`
ADD
UNIQUE
KEY
(`phone`,`mail`);
-- 聯合惟一約束
2.建立表以後設置:code
ALTER
TABLE
`user`
ADD
UNIQUE
KEY
(`
name
`);
-- 惟一約束
ALTER
TABLE
`user`
ADD
UNIQUE
KEY
(`phone`,`mail`);
-- 聯合惟一約束
(個人問題是這麼解決的,不必定是合理的,若是有高手請指點謝謝!)數據