在MySQL数据库中创建表时出现语法错误

在MySQL数据库中创建表时出现语法错误,mysql,sql,Mysql,Sql,当我试图在MySQL数据库中创建表时,我遇到了一个语法错误,它位于MEDIUMBLOB附近,有人能帮我吗 创建表'ELO`.'images`( `image_id`VARCHAR(50)不为空, `用户_id`VARCHAR(50)不为空, `图像'MEDIUMBLOB(16777215)不为空, `经度'VARCHAR(15)不为空, `纬度'VARCHAR(15)不为空, `city`VARCHAR(50)不为空, `在“DATETIME NOT NULL”处删除_, `descriptio

当我试图在MySQL数据库中创建表时,我遇到了一个语法错误,它位于MEDIUMBLOB附近,有人能帮我吗

创建表'ELO`.'images`(
`image_id`VARCHAR(50)不为空,
`用户_id`VARCHAR(50)不为空,
`图像'MEDIUMBLOB(16777215)不为空,
`经度'VARCHAR(15)不为空,
`纬度'VARCHAR(15)不为空,
`city`VARCHAR(50)不为空,
`在“DATETIME NOT NULL”处删除_,
`description`VARCHAR(250)不为空,
`分数'INT(8)不为空默认值'0',
`类别`集合('nightlife'、'food'、'beach')不为空默认值为'nightlife',
主键(`image\u id`),
独特的(
`形象`
)
)引擎=MYISAM

您不能为
MEDIUMBLOB
设置长度,该列应定义为
image MEDIUMBLOB NOT NULL,
这意味着您不能将其也设置为
唯一
,因为它没有长度,所以您的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