我知道如何使用INDEX,如下面的代码.我知道如何使用外键和主键.
CREATE TABLE tasks (
task_id INT UNSIGNED NOT NULL AUTO_INCREMENT,
parent_id INT UNSIGNED NOT NULL DEFAULT 0,
task VARCHAR(100) NOT NULL,
date_added TIMESTAMP NOT NULL,
date_completed TIMESTAMP,
PRIMARY KEY (task_id),
INDEX parent (parent_id),
....
Run Code Online (Sandbox Code Playgroud)
但是我发现使用KEY而不是INDEX的代码如下.
...
KEY order_date (order_date)
...
Run Code Online (Sandbox Code Playgroud)
我无法在MySQL官方页面中找到任何文档.
谁能告诉我KEY和INDEX之间有什么区别?我可以看到的不同之处在于,当我使用KEY ...时,我需要重复这个词,例如KEY order_date(order_date).
任何人都可以解释一下目的PRIMARY KEY,UNIQUE KEY并且KEY,如果将它放在CREATE TABLEMySQL 中的单个语句中?
CREATE TABLE IF NOT EXISTS `tmp` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`uid` varchar(255) NOT NULL,
`name` varchar(255) NOT NULL,
`tag` int(1) NOT NULL DEFAULT '0',
`description` varchar(255),
PRIMARY KEY (`id`),
UNIQUE KEY `uid` (`uid`),
KEY `name` (`name`),
KEY `tag` (`tag`)
) ENGINE=InnoDB AUTO_INCREMENT=1 ;
Run Code Online (Sandbox Code Playgroud)
如何将此查询转换为MSSQL?
可能重复:
mySQL 的 KEY 关键字?
喜欢
PRIMARY KEY (ID),
KEY name (name),
KEY desc (desc),
Run Code Online (Sandbox Code Playgroud)
等等。
它们有什么用?
这行是什么意思?
KEY FK_CodigoCliente_idx (CodigoCliente),
CREATE TABLE tbvenda (
Codigo int(11) NOT NULL AUTO_INCREMENT,
CodigoCliente int(11) NOT NULL,
DataVenda date NOT NULL,
ValorTotal decimal(10,2) NOT NULL,
Situacao int(11) NOT NULL,
PRIMARY KEY (Codigo),
KEY FK_CodigoCliente_idx (CodigoCliente),
CONSTRAINT FK_CodigoCliente FOREIGN KEY (CodigoCliente) REFERENCES tbcliente (Codigo)
);
Run Code Online (Sandbox Code Playgroud)