我想用文本类型列创建db。但长度始终为0。在mysql中

时间:2012-05-04 12:46:52

标签: mysql text sql-types

我在mysql中创建了db表。

create table finaltest1(id int(10),title text(20), category text(20), price text(10), ymd text(15), iconurl text(50), screenshoturl text(150), appid text(15), company text(30), capacity text(15));

但是文本列的长度都是0.为什么?

3 个答案:

答案 0 :(得分:1)

如果您希望使用字段限制文本,则使用数据类型VARCHAR(20)。另外,对于长文本,只使用TEXT数据类型。

检查:http://www.htmlite.com/mysql003.php

你给出的长度20来自TINYTEXT。

TINYTEXT    256 bytes    
TEXT        65,535 bytes            ~64kb
MEDIUMTEXT  16,777,215 bytes        ~16MB
LONGTEXT    4,294,967,295 bytes     ~4GB

答案 1 :(得分:1)

正如swati所说,你需要学习MySQL String Data Types。如果使用TinyText,该列将始终占用256个字节,即使它是空的。您应该注意,使用* Text列类型时,您不能使用默认值。

如果使用VARCHAR(20)列,则使用的实际数据空间取决于内容,您可以使用默认值。

答案 2 :(得分:0)

text不需要长度。从documentation了解详情。 以下查询应该有效。

create table finaltest1(id int(10),
    title text,
    category text,
    price text,
    ymd text,
    iconurl text,
    screenshoturl text,
    appid text,
    company text,
    capacity text
);