MySQL有几种数据类型可以限制类型的"长度",有CHAR(Length)、VARCHAR(Length)、TINYINT(Length)、SMALLINT(Length)、MEDIUMINT(Length)、INT(Length)、BIGINT(Length)、FLOAT(Length, Decimals)、DOUBLE(Length, Decimals)和DECIMAL(Length, Decimals)。
然而,这些数据类型的长度,并不是都指数据的大小。具体说就是:
(1)CHAR、VARCAHR的长度是指字符的长度,例如CHAR[3]则只能放字符串"123",如果插入数据"1234",则从高位截取,变为"123"。 VARCAHR同理。
(2)TINYINT、SMALLINT、MEDIUMINT、INT和BIGINT的长度,其实和数据的大小无关!Length指的是显示宽度,举个例子:
与列的类型有关,CHAR 或 VARCHAR 的最大长度可以到 255,TEXT最大长度 65535,MEDIUMTEXT最大长度 16777215,LONGTEXT最大长度 4294967295。直接定义字符串的最大长度就可以了,自后超过此长度的话,之后就无法插入,返回size有问题。可以通过alter更改字符串长度:
sql: alter tablename modify columnName varchar2(25)
解释:以上语句重置表中字段的属性,设置最大长度是25个字节,超过的话,无法正常插入。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)