mysql - mysql 查询困惑

标签 mysql

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,更习惯图形界面。如何将此命令与图形界面进程关联起来?

最佳答案

在 mysql 终端或 PHP My admin 中,这是创建表的方法

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?

最后 2 个命令是在 authrecip 列上创建索引

这是 http://dev.mysql.com/doc/refman/5.0/en/mysql-indexes.html 的索引

关于mysql - mysql 查询困惑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23838125/

相关文章:

mysql - 有没有办法以任意顺序将参数传递给 MySQL 存储过程?

mysql - 如何进行 if 和 else mysql 查询

PHP/MySQL 总数(按成员)

MySQL使用nodeJs嵌套Json对象

java - 当页面大小小于记录大小时,带有分页的 native 查询会引发内部服务器错误

mysql - NOT IN WHERE 子句错误

mysql - EF ObjectContext 中的批量插入性能问题

php - 使用ajax将JS变量传递到同一个php文件

MySQL 8.0 : How to Alter Procedure Definer

MySQL 不会回滚事务