#1064 - 您的 SQL 语法有误:MAX NULL 问题

#1064 - You have an error in your SQL syntax: MAX NULL problem

我是 MySQL 的新手,运行 在我正在进行的学习项目中遇到了一些麻烦。

每当我尝试创建 table
SQL查询:

CREATE TABLE IF NOT EXISTS `tweeter` ( 
`id` INT NULL, 
`conversation_id` INT NULL, 
`created_at` INT NULL, 
`date` VARCHAR(MAX) NULL, 
`time` VARCHAR(MAX) NULL, 
`timezone` VARCHAR(MAX) NULL, 
`user_id` INT NULL, 
`username` VARCHAR(MAX) NULL, 
`name` VARCHAR(MAX) NULL, 
`place` VARCHAR(MAX) NULL, 
`tweet` VARCHAR(MAX) NULL, 
`mentions` JSON NULL, 
`urls` JSON NULL, 
`photos` JSON NULL, 
`replies_count` INT NULL, 
`retweets_count` INT NULL, 
`likes_count` INT NULL, 
`hashtags` JSON NULL, 
`cashtags` JSON NULL,   
`link` VARCHAR(MAX) NULL, 
`retweet` BOOL NULL, 
`quote_url` VARCHAR(MAX) NULL, 
`video` INT NULL, 
`near` VARCHAR(MAX) NULL, 
`geo` VARCHAR(MAX) NULL, 
`source` VARCHAR(MAX) NULL, 
`user_rt_id` VARCHAR(MAX) NULL, 
`user_rt` VARCHAR(MAX) NULL, 
`retweet_id` VARCHAR(MAX) NULL, 
`reply_to` JSON NULL, 
`retweet_date` VARCHAR(MAX) NULL, 
`translate` VARCHAR(MAX) NULL, 
`trans_src` VARCHAR(MAX) NULL, 
`trans_dest` VARCHAR(MAX) NULL )

我收到以下错误消息:

1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'MAX) NULL,

`time` VARCHAR(MAX) NULL,
`timezone` VARCHAR(MAX) NULL,
`user_id` INT' at line 5

这是我正在使用的一些信息

  1. WAMPServer
  2. 服务器类型:MySQL
  3. 服务器版本:8.0.18
  4. phpMyAdmin: 4.9.2.

我花了一天的时间试图解决这个问题,现在我想是时候询问了 help.I 想知道是否有人可以告诉我我做错了什么?

MySQL中没有VARCHAR(MAX)这样的东西。您确实需要指定一个实际值。实际限制不是在列本身上设置的,而是在行上设置的,不应超过 64 kB。

您有很多 VARCHAR 列,因此此限制在这里很重要。不要盲目地为所有列设置高值;相反,您应该根据它将存储的实际值调整每个列的大小。

另外,请考虑使用正确的数据类型而不是到处使用字符串。您的某些字符串列似乎是日期。对于那些,使用相关的类似日期的数据类型(DATEDATETIMETIMESTAMPTIME)。