createTable('messages',
'id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
auth VARCHAR(16),
recip VARCHAR(16),
pm CHAR(1),
time INT UNSIGNED,
message VARCHAR(4096),
INDEX(auth(6)),
INDEX(recip(6))');
这是用于创建表的mysql命令。我只是想知道,命令的最后两行是什么," INDEX(auth(6))"和" INDEX(recip(6))"?我习惯使用phpMyAdmin并习惯了更多的图形界面。如何将此命令与图形界面过程相关联?
答案 0 :(得分:0)
在mysql终端或PHP我的管理员这就是你可以创建表的方法
create table messages(
id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
auth VARCHAR(16),
recip VARCHAR(16),
pm CHAR(1),
time INT UNSIGNED,
message VARCHAR(250),
INDEX (auth),
INDEX (recip)
);
另请注意,message VARCHAR(4096),
没有意义,因为它没有任何用途。
What is the MySQL VARCHAR max size?
最后两个命令是在列auth
和recip
上创建索引
以下是http://dev.mysql.com/doc/refman/5.0/en/mysql-indexes.html
的索引答案 1 :(得分:0)
INDEX(auth(6))
和INDEX(recip(6))
以在表上创建索引。创建索引,以便查询(如SELECT * FROM messages WHERE auth=<xyz>
)运行得更快。
MySQL文档包含有关creating indexes以及how they are used by MySQL的信息。
关于索引如何在this question on SO中工作,有一个非常详细的解释。