【问题标题】:SQL KEY Constraint SyntaxSQL KEY 约束语法
【发布时间】:2013-06-19 19:49:48
【问题描述】:

我理解唯一的 SQL 键约束是:

UNIQUE - 列的每一行都有唯一值

主键 NOT NULL 和 UNIQUE 的组合

FOREIGN KEY - 确保一个表中的数据与另一个表中的值匹配

单独使用 KEY 语法会创建什么样的键约束?例如 KEY user_id (user_id) 在下面的例子中。

CREATE TABLE `orders` (
  `id` INT UNSIGNED NOT NULL AUTO_INCREMENT,
  `user_id` INT UNSIGNED DEFAULT NULL,
  `transaction_id` VARCHAR(19) NOT NULL,
  `payment_status` VARCHAR(15) NOT NULL,
  `payment_amount` DECIMAL(6,2) UNSIGNED NOT NULL,
  `payment_date_time` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  KEY `user_id` (`user_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;

【问题讨论】:

  • 在手册中查找这个有多难?
  • @a_horse_with_no_name:有效点;但公平地说,这个问题的答案并不容易通过简单的网络搜索找到。

标签: mysql sql key


【解决方案1】:

来自DOCS

KEY 通常是 INDEX 的同义词。关键属性 PRIMARY KEY 可以 当在列定义中给出时,也可以仅指定为 KEY。这 实现与其他数据库系统的兼容性。

【讨论】:

    猜你喜欢
    • 2016-11-29
    • 1970-01-01
    • 1970-01-01
    • 2013-04-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多