繁体   English   中英

我的MySQL代码在varchar(max)行中出了什么问题?

[英]What's wrong with my MySQL code here in varchar(max) line?

create table snippet(
  id int not null auto_increment,
  primary key(id),
  idlanguage int not null,
  foreign key(idlanguage) references language(id),
  iduser int not null,
  foreign key(iduser) references user(id),
  title varchar(200) not null,
  content varchar(max) not null,
  rating int,
  creationdate datetime
);

根据PHPMyAdmin,我在第9行的“ max)附近出现错误”。

VARCHAR(MAX)是SQL语言的MS SQL Server扩展-mysql中不存在。 在那放一个数字,你会很高兴。

我认为“ max ”不是可以在content列中输入的最大字符数的有效值:您应该指定一个数字值。

但是请注意, varchar的最大长度是有限的(有关详细信息,请参见MYSQL手册中varchar -这意味着它对于“ content ”列可能不是最佳的数据类型。

可能更好的解决方案是使用TEXT数据类型之一:

...
content TEXT not null, 
...

TEXT列可以包含比varchar长得多的字符串; 有关更多信息,请参见10.4.3。 BLOB和TEXT类型

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM