关于数据库字段不是主键可是也不能重复的问题解决办法:数据库
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`);
-- 联合惟一约束
(个人问题是这么解决的,不必定是合理的,若是有高手请指点谢谢!)数据