【问题标题】:Need clarification on mysql syntax需要澄清mysql语法
【发布时间】: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,
)

问题:

  1. 创建时,table1和table2有区别吗?
    (我认为不会,但最好问问而不是生活在幸福的无知中;)
  2. 如果(是)它是什么? if (no) 为什么我们有不同的语法?
  3. 在较大的表中show create table tbl_name 显示UNIQUE KEY email_2 (email) 或其他一些_num。为什么? tlb_name_num 是什么意思,有什么用途?
  4. 哪种语法更可取,为什么?
  5. show create table tbnm 始终以 table1 形式显示 sql,即使 table 是由 table2 sql 语法创建的。为什么?
  6. UNIQUE KEY (email) 也可以。但它在show create table 上转换为UNIQUE KEY email (email)。为什么它会起作用,为什么它会被转换等等?

【问题讨论】:

    标签: mysql syntax create-table


    【解决方案1】:
    1. 这两个表没有区别。
    2. 有不同的语法可以先声明所有内容,然后添加主键、唯一...或者如果有些人喜欢立即这样做,他们也有可能
    3. 不知道,如果找到,请编辑此内容
    4. 他们都做同样的事情,使用你喜欢的。
    5. 不知道,如果找到,请编辑此内容
    6. 不知道,如果找到,请编辑此内容

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-12-20
      • 1970-01-01
      • 2011-11-09
      • 2012-07-18
      • 1970-01-01
      • 2023-03-09
      • 1970-01-01
      相关资源
      最近更新 更多