在MySQL数据库中创建表时出现语法错误
当我试图在MySQL数据库中创建表时,我遇到了一个语法错误,它位于MEDIUMBLOB附近,有人能帮我吗在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
创建表'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