sql中的语法消息

问题描述 投票:0回答:1

我有一个我真的不知道如何解决的问题,

CREATE TABLE `user` (
  `id` int(11) NOT NULL,
  `email` varchar(180) COLLATE utf8mb4_unicode_ci NOT NULL,
  `roles` json NOT NULL,
  `password` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci
MySQL a répondu : Documentation

#1064 - Erreur de syntaxe près de 'json NOT NULL,
  `password` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL
)' à la ligne 4

当我在本地主机中导出数据库时,我使用了此sql,但是当我尝试在生产环境中为我的站点创建用户表时,出现此错误消息。

我以为这是因为'role'的je'Json'格式,但是当我将其更改为'array'时,我仍然遇到相同的错误。

sql orm doctrine
1个回答
0
投票

检查您的mysql版本。根据mysql网站文档,它说:

Prior to MySQL 8.0.13, a JSON column cannot have a non-NULL default value.

参考:https://dev.mysql.com/doc/refman/8.0/en/json.html

© www.soinside.com 2019 - 2024. All rights reserved.