【发布时间】: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:有效点;但公平地说,这个问题的答案并不容易通过简单的网络搜索找到。