Reputation: 497
When creating a mysql dump containing the structure of my database, one of the tables shows the following:
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`),
The primary key is what I was expecting, but I'm unsure what the last line is about?
KEY `paymentId` (`paymentId`),
Is this related to an index?
Upvotes: 13
Views: 7786
Reputation: 400932
Quoting the documentation of CREATE TABLE :
KEY
is normally a synonym forINDEX
.
The key attributePRIMARY KEY
can also be specified as justKEY
when given in a column definition. This was implemented for compatibility with other database systems.
Upvotes: 2
Reputation: 344281
Yes, the KEY
keyword is just an alias for the INDEX
keyword.
CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name
...
{INDEX|KEY} [index_name] [index_type] (index_col_name,...)
[index_option] ...
Source: MySQL Documentation: CREATE TABLE
Upvotes: 13