当我尝试在 MySQL 数据库中创建表时遇到语法错误,它位于 MEDIUMBLOB 周围,任何人都可以帮助我吗?
CREATE TABLE `ELO`.`images` (
`image_id` VARCHAR( 50 ) NOT NULL ,
`user_id` VARCHAR( 50 ) NOT NULL ,
`image` MEDIUMBLOB(16777215) NOT NULL ,
`longitude` VARCHAR( 15 ) NOT NULL ,
`latitude` VARCHAR( 15 ) NOT NULL ,
`city` VARCHAR( 50 ) NOT NULL ,
`delete_at` DATETIME NOT NULL ,
`description` VARCHAR( 250 ) NOT NULL ,
`score` INT( 8 ) NOT NULL DEFAULT '0',
`categories` SET( 'nightlife', 'food', 'beach' ) NOT NULL DEFAULT 'nightlife',
PRIMARY KEY ( `image_id` ) ,
UNIQUE (
`image`
)
) ENGINE = MYISAM
最佳答案
您无法设置 MEDIUMBLOB
的长度,该列应仅定义 image MEDIUMBLOB NOT NULL,
这意味着您无法将其也设置为 UNIQUE
因为它没有长度,所以你的 sql 应该如下所示
CREATE TABLE `images` (
`image_id` VARCHAR( 50 ) NOT NULL ,
`user_id` VARCHAR( 50 ) NOT NULL ,
`image` MEDIUMBLOB NOT NULL,
`longitude` VARCHAR( 15 ) NOT NULL ,
`latitude` VARCHAR( 15 ) NOT NULL ,
`city` VARCHAR( 50 ) NOT NULL ,
`delete_at` DATETIME NOT NULL ,
`description` VARCHAR( 250 ) NOT NULL ,
`score` INT( 8 ) NOT NULL DEFAULT '0',
`categories` SET( 'nightlife', 'food', 'beach' ) NOT NULL DEFAULT 'nightlife',
PRIMARY KEY ( `image_id` )
) ENGINE = MYISAM
关于mysql - 在 MySQL 数据库中创建表时出现语法错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35586268/