mySQL创建Table方法的数字是什么意思?

时间:2013-12-24 10:44:06

标签: 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

1 个答案:

答案 0 :(得分:0)

(16)表示VARCHAR(16)

中的大小 索引的

也是相同的。该参数描述了索引的长度。

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

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