CREATE TABLE IF NOT EXISTS `tbl_users` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`username` varchar(50) COLLATE latin1_general_ci NOT NULL,
`passd` varchar(50) COLLATE latin1_general_ci NOT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `username` (`username`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci AUTO_INCREMENT=1 ;
我们usermane
为unique
,我们可以将其用作主键,那么将id作为主键的优势是什么?
由于
答案 0 :(得分:2)
主键将避免表中的重复值和空值 哪个组合的唯一+非null将会做。但是 优点是,如果表具有我们可以创建的主键 与子表的关系。
编辑: 主键
唯一键
答案 1 :(得分:0)
主键:
i)表中只能有一个
ii)它永远不允许空值
iii)主键是唯一键标识符,不能为空且必须是唯一的。
唯一关键:
i)一张表中可以有多个唯一键。
ii)唯一键可以具有空值
iii)它不能成为候选键
iv)唯一键可以为null,也可以不是唯一的。
CREATE TABLE IF NOT EXISTS `tbl_users` (
`id` int(11) NOT NULL,
`username` varchar(50) CHARACTER SET latin1 COLLATE latin1_german1_ci NOT NULL,
`passd` varchar(50) CHARACTER SET latin1 COLLATE latin1_general_ci NOT NULL,
PRIMARY KEY (`username`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;