创建包含数据库结构的mysql转储时,其中一个表显示以下内容:
CREATE TABLE `completedTransactions` (
`paymentId` int(10) unsigned NOT NULL,
`timestamp` int(15) unsigned NOT NULL,
`actionTaken` varchar(25) NOT NULL,
`response` varchar(255) NOT NULL,
`responseCode` int(5) NOT NULL,
PRIMARY KEY (`paymentId`,`timestamp`),
KEY `paymentId` (`paymentId`),
主键是我所期待的,但我不确定最后一行是什么?
KEY `paymentId` (`paymentId`),
这与索引有关吗?
答案 0 :(得分:13)
是的,KEY
关键字只是INDEX
关键字的别名。
CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name
...
{INDEX|KEY} [index_name] [index_type] (index_col_name,...)
[index_option] ...
答案 1 :(得分:3)
KEY
不是唯一的,PRIMARY KEY
和UNIQUE KEY
是唯一的。
答案 2 :(得分:2)
引用CREATE TABLE的文档:
KEY
通常是INDEX
的同义词。
关键属性PRIMARY KEY
也可以 在给出时被指定为KEY
列定义。这是 实现与...的兼容性 其他数据库系统。