使用phpMyAdmin创建MySQL表时提示'Please enter a valid length',求解决方案
解决MySQL创建表时的"Please enter a valid length"错误
嘿,这个问题很常见!你收到的错误提示,根源是INT类型的显示宽度超出了MySQL允许的范围。
问题分析
看你的CREATE TABLE语句,这两个字段的定义有问题:
offer_priceINT(256) NOT NULLoffer_realizationINT(256) NOT NULL
MySQL里,INT类型的显示宽度参数范围是1到255,你写了256,明显超过了上限,所以数据库会提示你输入合法的长度值。
另外要注意:INT后面的括号数字只是显示宽度,它不影响字段实际能存储的数值范围(INT本身固定能存-2147483648到2147483647的整数),只是控制查询结果中数字的显示格式而已。如果没有特殊的显示需求,甚至可以直接写INT,不用加括号里的数字。
修正后的SQL语句
把超出范围的INT(256)改成合法的取值(比如默认的11,或者干脆去掉宽度参数):
CREATE TABLE `projekt_ti_cdv`.`offer` ( `offer_id` INT NOT NULL AUTO_INCREMENT , `offer_type` VARCHAR(256) NOT NULL , `offer_price` INT NOT NULL , `offer_realization` INT NOT NULL , `offer_any_daw` VARCHAR(100) NOT NULL , `offer_vst` VARCHAR(256) NOT NULL , PRIMARY KEY (`offer_id`) ) ENGINE = InnoDB;
额外提示
如果你的需求是存储更大的整数(比如超过INT的最大值),那不要试图加大显示宽度,而是应该改用BIGINT类型,它能存储的范围比INT大得多(-9223372036854775808到9223372036854775807)。
内容的提问来源于stack exchange,提问作者kwk98
相关产品推荐
相关产品推荐

