我正在尝试在phpMyAdmin中创建一个表,无论我如何操作SQL代码,我都会遇到同样的错误.这是phpMyAdmin生成的预览SQL
CREATE TABLE `puppies`.`animals` (
`id` INT(11) NOT NULL AUTO_INCREMENT ,
`puppy_name` VARCHAR(256) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL ,
`breed_id` INT(11) NOT NULL ,
`description` VARCHAR(256) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL ,
`price` DECIMAL(10,2) NOT NULL ,
`picture_url` VARCHAR(256) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL ,
`sold` TINYINT(1) NOT NULL ,
PRIMARY KEY (`id`)
) ENGINE = InnoDB;
Run Code Online (Sandbox Code Playgroud)
我用括号和逗号的多种变体尝试了它.
小智 9
对于那些仍在经历这种情况的人,并且不想等待它再次随机工作:
我刚刚遇到这个,除了一些bug之外找不到任何解释.
我试过了:
CREATE TABLE `database`.`measurement_types` (
`TypeID` INT(2) NOT NULL AUTO_INCREMENT ,
`Name` VARCHAR(32) NOT NULL ,
`Description` VARCHAR(256) NOT NULL ,
PRIMARY KEY (`TypeID`)) ENGINE = InnoDB;
Run Code Online (Sandbox Code Playgroud)
其中产生了相同的"请输入有效长度"错误
尝试了几次不同的长度值,但不断得到相同的错误.
- 解 -
所以我首先用一个列创建了表,然后用另外两个列改变它,如下所示:
CREATE TABLE `database`.`measurement_types` (
`TypeID` INT(2) NOT NULL AUTO_INCREMENT ,
PRIMARY KEY (`TypeID`)) ENGINE = InnoDB;
Run Code Online (Sandbox Code Playgroud)
然后:
ALTER TABLE `measurement_types`
ADD `Name` VARCHAR(32) NOT NULL AFTER `TypeID`,
ADD `Description` VARCHAR(256) NOT NULL AFTER `Name`;
Run Code Online (Sandbox Code Playgroud)
这很有效.
我还试图删除该表并再次使用第一个SQL创建它,这次它起作用了.似乎很随机