我是mysql的新手,在一个学习项目中遇到了一些小麻烦。
每当我尝试创建表时
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-您的sql语法有错误;请查看与您的mysql服务器版本对应的手册,以了解使用接近'max)null的正确语法,
`time` VARCHAR(MAX) NULL,
`timezone` VARCHAR(MAX) NULL,
`user_id` INT' at line 5
这里有一些关于我工作的信息
服务器
服务器类型:mysql
服务器版本:8.0.18
phpmyadmin:4.9.2。
我花了一天时间试图解决这个问题,现在我想是时候寻求帮助了。我想知道是否有人能告诉我我做错了什么?
1条答案
按热度按时间kx7yvsdv1#
世上没有
VARCHAR(MAX)
在mysql中。您确实需要指定一个实际值。实际限制不是在列本身上设置的,而是在行上设置的,不应超过64 kb。你有很多
VARCHAR
列,所以这个限制在这里很重要。不要盲目地在所有列上设置一个高值;相反,您应该根据每个列存储的实际值来调整它的大小。另外,请考虑使用适当的数据类型,而不是到处使用字符串。有些字符串列似乎是日期。对于这些,请使用数据类型之类的相关日期(
DATE
,DATETIME
,TIMESTAMP
或者TIME
).