如何在 "CREATE TABLE" 命令中索引 MySQL 中的列
how to index a column in MySQL within "CREATE TABLE" command
有没有办法在 CREATE TABLE 命令中索引下面的非唯一电子邮件列?
而不是这个:
CREATE TABLE addresses (
phone_number VARCHAR(12) PRIMARY KEY,
email TINYTEXT,
);
ALTER TABLE addresses ADD INDEX (email);
像这样:
CREATE TABLE addresses (
phone_number VARCHAR(12) PRIMARY KEY,
email TINYTEXT INDEX,
);
这是你想要的吗?
CREATE TABLE addresses (
phone_number VARCHAR(12) PRIMARY KEY,
email TINYTEXT,
INDEX ix (email)
);
默认情况下,所有索引都不是唯一的。
很容易:
CREATE TABLE addresses (
phone_number VARCHAR(12) PRIMARY KEY,
email TINYTEXT,
INDEX index_email (email)
);
您必须指定文本密钥的密钥长度。
尝试:
CREATE TABLE `addresses`(
phone_number VARCHAR(12),
email TINYTEXT,
PRIMARY KEY `phone_number`(`phone_number`) ,
KEY `email` (`email`(255)));
KEY
和 INDEX
是 MySQL
中的同义词
这会在 table 创建时在电子邮件列上创建名为 ix_email 的索引。
CREATE TABLE addresses (
phone_number VARCHAR(12) PRIMARY KEY,
email TINYTEXT,
INDEX ix_email (email)
);
有没有办法在 CREATE TABLE 命令中索引下面的非唯一电子邮件列?
而不是这个:
CREATE TABLE addresses (
phone_number VARCHAR(12) PRIMARY KEY,
email TINYTEXT,
);
ALTER TABLE addresses ADD INDEX (email);
像这样:
CREATE TABLE addresses (
phone_number VARCHAR(12) PRIMARY KEY,
email TINYTEXT INDEX,
);
这是你想要的吗?
CREATE TABLE addresses (
phone_number VARCHAR(12) PRIMARY KEY,
email TINYTEXT,
INDEX ix (email)
);
默认情况下,所有索引都不是唯一的。
很容易:
CREATE TABLE addresses (
phone_number VARCHAR(12) PRIMARY KEY,
email TINYTEXT,
INDEX index_email (email)
);
您必须指定文本密钥的密钥长度。 尝试:
CREATE TABLE `addresses`(
phone_number VARCHAR(12),
email TINYTEXT,
PRIMARY KEY `phone_number`(`phone_number`) ,
KEY `email` (`email`(255)));
KEY
和 INDEX
是 MySQL
这会在 table 创建时在电子邮件列上创建名为 ix_email 的索引。
CREATE TABLE addresses (
phone_number VARCHAR(12) PRIMARY KEY,
email TINYTEXT,
INDEX ix_email (email)
);