【问题标题】:MySQL - phpmyadmin alert messageMySQL - phpmyadmin 警报消息
【发布时间】:2020-10-09 11:56:13
【问题描述】:
CREATE TABLE `projekt_ti_cdv`.`offer` ( `offer_id` INT(2) NOT NULL AUTO_INCREMENT , `offer_type` VARCHAR(256) NOT NULL , `offer_price` INT(256) NOT NULL , `offer_realization` INT(256) NOT NULL , `offer_any_daw` VARCHAR(100) NOT NULL , `offer_vst` VARCHAR(256) NOT NULL , PRIMARY KEY (`offer_id`)) ENGINE = InnoDB;

我试图在我的数据库上创建表,但我从 localhost 收到一条警告消息“请输入有效长度”。我不知道如何解决这个问题。

BR, 克里斯

【问题讨论】:

  • 这和 SQL Server 有关系吗?
  • stackoverflow.com/questions/14573451/… 上了解不同类型的整数以及它如何存储数据可能值得一读。
  • 不要指定整数数据类型的长度 - 无论如何都会被忽略。
  • 这个是phpMyAdmin在填写新建表的图形表格后生成的SQL吗?

标签: php mysql database phpmyadmin create-table


【解决方案1】:

INT 数据类型允许的最大长度为 255。您需要在语句中修正它。

我不确定您是否确实要指定长度。 INT 的大小始终为 4 个字节,无论指定的长度如何 - 长度只是在这里指定在命令行客户端中显示值时使用的填充。

我会推荐:

CREATE TABLE `projekt_ti_cdv`.`offer` ( 
    `offer_id` TINYINT 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;

我将列 offer_id 的数据类型更改为 TINYINT,因为您似乎想要一个较小的数字:它可以存储高达 127(或无符号时为 255)的值。有关整数数据类型存储和范围的更多信息,请参阅the documentation

【讨论】:

    猜你喜欢
    • 2013-07-18
    • 1970-01-01
    • 1970-01-01
    • 2017-03-15
    • 1970-01-01
    • 2012-08-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多