比如设计一张用户表,tuser
有字段userid和username
userid为自动增长的int类型
username为varchar
要求username不允许重复,于是我设置了为主键,但我发现,无效,依然可以输入同样的username值,为什么会这样呢?
有请高人指教。
有字段userid和username
userid为自动增长的int类型
username为varchar
要求username不允许重复,于是我设置了为主键,但我发现,无效,依然可以输入同样的username值,为什么会这样呢?
有请高人指教。
alter table tab_name add unique key (username)
CREATE TABLE `tuser` (
`userid` int(10) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '1' ,
`username` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '' ,
PRIMARY KEY (`userid`, `username`)
)
我是在工具上直接设置为主键的,为何却成了联合主键呢?
问题倒是解决了,我把里面加了unique key (username)这句就行了。
一个表只能有一个PRIMARY KEY。或许在Navicat8创建主键的时候发现已经存在了,就设置为复合PRIMARY KEY 了。