发现一个sql错误,我不知道该怎么办

czq61nw1  于 2021-07-24  发布在  Java
关注(0)|答案(1)|浏览(360)

我只是一个初学者,需要一些帮助来解决这个sql语法错误。谢谢您!
代码:

use influencersv2;
CREATE TABLE Articles (
  Articles_Id int auto_increment not null,
  Articles_Authors_Id int not null,
  Articles_Tag_Id int not null,
  Articles_Date DateTime not null,
  Articles_Title varchar(250) not null,
  Articles_Content mediumtext not null,
  Articles_Image varbinary(max) null,
  Articles_Edit BIT  not null,
  Articles_Votes int not null,
);

错误:

SQL Error [1064] [42000]: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'max) null,
  Articles_Edit BIT  not null,
  Articles_Votes int not null...' at line 8
7gyucuyw

7gyucuyw1#

允许的最大行大小为65535字节,包括所有列,除非将blob或text用作列类型之一。因为您已经有了两列和一个相当大的250宽的varchar,它们都减少了varbinary的最大剩余空间。实际上,varbinary剩下的是65248字节。
这样做有效:

CREATE or replace TABLE Articles (
  Articles_Id int auto_increment not null,
  Articles_Authors_Id int not null,
  Articles_Tag_Id int not null,
  Articles_Date DateTime not null,
  Articles_Title varchar(250) not null,
  Articles_Content mediumtext not null,
  Articles_Image VARBINARY(65248) null,
  Articles_Edit BIT  not null,
  Articles_Votes int not NULL,
  PRIMARY KEY (Articles_Id)
);

mariadb不会自动为您找到该值。

相关问题