mysql - mySQL createTable 方法中的数字是什么意思?

标签 mysql database-schema create-table

我有以下 php 脚本,用于构建我的网站所需的表。

include_once 'rcfunctions.php';

createTable('rcmembers', 'user VARCHAR(16), pass VARCHAR(16),
            INDEX(user(6))');

createTable('rcmessages', 
           '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))');

createTable('rcfriends', 'user VARCHAR(16), friend VARCHAR(16),
            INDEX(user(6)), INDEX(friend(6))');

createTable('rcprofiles', 'user VARCHAR(16), text VARCHAR(4096),
            INDEX(user(6))');

            echo "Tables Created!";

我想采用这种方法来创建更多包含各种内容的表。 (即对象?)我不知道数字表示什么,并且在 VARCHAR、CHAR、INDEX 等上含糊不清。我确信某处有相关资源或指南。我找到了我需要的备忘单,但它没有提到数字或约定,而且有点让人不知所措。 http://dev.mysql.com/doc/refman/5.5/en/create-table.html

最佳答案

(16) 表示 VARCHAR(16)

中的大小

索引也一样。参数描述索引的长度。

index_col_name:
    col_name [(length)] [ASC | DESC]

例如,在INDEX(auth(6))的情况下,索引的长度为6。

关于mysql - mySQL createTable 方法中的数字是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20759458/

相关文章:

php - 图片上传 PHP

Mysql 更改 Int 默认值零为空

mysql - 从包含名字/姓氏和额外信息的字段中获取名字

postgresql - Prisma模型自引用(一对多)

mysql - 包含数百万表的数据库

java - 使用来自两个不同数据库的两个表通过 JOOQ 构建左连接查询

design-patterns - 合并数据的数据库架构设计模式

mysql - 在 SQL 中创建一个表,其中每个元组可以有多个值

mysql - 主键是否可以由一个表或另一个表确定?

php - MySQL如何设置USERNAME字段应指定为UNIQUE