Синтаксическое сообщение в sql - PullRequest
0 голосов
/ 23 апреля 2020

У меня есть проблема, которую я не знаю, как исправить,

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, когда экспортировал свою базу данных в localhost, но когда я пытаюсь создать таблицу пользователя для мой сайт в производстве я получаю это сообщение об ошибке.

Я думал, что это потому, что я 'Json' формат для "роли", но когда я изменяю его на "массив", я все равно получаю ту же ошибку.

1 Ответ

1 голос
/ 23 апреля 2020

Проверьте вашу 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

...