Что здесь не так, пожалуйста
CREATE TABLE user (
id INT AUTO_INCREMENT NOT NULL,
email VARCHAR(180) NOT NULL,
roles JSON NOT NULL,
password VARCHAR(255) NOT NULL,
nome VARCHAR(255) NOT NULL,
cognome VARCHAR(255) NOT NULL,
UNIQUE INDEX UNIQ_8D93D649E7927C74 (email),
PRIMARY KEY(id)
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci ENGINE = InnoDB'
это ошибка:
An exception occurred while executing 'CREATE TABLE user (id INT AUTO_INCREMENT NOT NULL, email VARCHAR(180) NOT NULL, roles JSON NOT NULL, password VARCHAR(255) NOT NULL, nome VARCHAR(255) NOT NULL, cognome VARCHAR(255) N
OT NULL, UNIQUE INDEX UNIQ_8D93D649E7927C74 (email), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci ENGINE = InnoDB':
SQLSTATE[42000]: Syntax error or access violation: 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 'JSON NOT NULL, password VARCHAR
(255) NOT NULL, nome VARCHAR(255) NOT NULL, cogno' at line 1
Возможно, что-то связано с типом данных JSON. MairaDB не имеет реализации для такого типа данных
Как описывает @triplem, укажите ошибку, которую вы получаете от движка MySQL.
Поскольку это будет то же самое, вы пытались установить в своей сущности массив, а не json? Также отсутствует цитата вокруг InnoDB.






Тип данных JSON, похоже, не реализован в базе данных MariaDB.
По данным сайта MariaDB
JSON - это псевдоним LONGTEXT
Вместо этого вы можете использовать тип данных varchar, text или LONGTEXT.
Пример:
CREATE TABLE user (
id INT AUTO_INCREMENT NOT NULL,
email VARCHAR(180) NOT NULL,
roles VARCHAR(255) NOT NULL,
password VARCHAR(255) NOT NULL,
nome VARCHAR(255) NOT NULL,
cognome VARCHAR(255) NOT NULL,
UNIQUE INDEX UNIQ_8D93D649E7927C74 (email),
PRIMARY KEY(id)
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci ENGINE = InnoDB;
ну, это сработало для меня, у меня была база данных, которую я создал в mysql 8, но когда я импортировал в myphpAdmin, у меня была ошибка, поскольку она использует MariaDb
Что возвращается сообщение об ошибке?