关于数据库字段不是主键但是也不能重复的问题解决办法:
1.创建表时设置:
SQL code:
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.创建表之后设置:
SQL code:
ALTER
TABLE
`user`
ADD
UNIQUE
KEY
(`
name
`);
-- 唯一约束
ALTER
TABLE
`user`
ADD
UNIQUE
KEY
(`phone`,`mail`);
-- 联合唯一约束
(我的问题是这么解决的,不一定是合理的,如果有高手请指点谢谢!)