1

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

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

NOT NULL 和 UNIQUE 的PRIMARY KEY组合

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;
4

1 回答 1

2

来自文档

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

于 2013-06-19T19:53:02.587 回答