【发布时间】:2015-04-18 12:32:36
【问题描述】:
CREATE TABLE `table1` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`email` varchar(128) DEFAULT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `email` (`email`)
)
-
CREATE TABLE `table2` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT PRIMARY KEY,
`email` varchar(128) DEFAULT NULL UNIQUE,
)
问题:
- 创建时,table1和table2有区别吗?
(我认为不会,但最好问问而不是生活在幸福的无知中;) - 如果(是)它是什么? if (no) 为什么我们有不同的语法?
- 在较大的表中
show create table tbl_name显示UNIQUE KEY email_2 (email)或其他一些_num。为什么?tlb_name_num是什么意思,有什么用途? - 哪种语法更可取,为什么?
-
show create table tbnm始终以 table1 形式显示 sql,即使 table 是由 table2 sql 语法创建的。为什么? -
UNIQUE KEY (email)也可以。但它在show create table上转换为UNIQUE KEY email (email)。为什么它会起作用,为什么它会被转换等等?
【问题讨论】:
标签: mysql syntax create-table