Mysql установить значение по умолчанию для столбца типа json - PullRequest
1 голос
/ 12 апреля 2020

Я слышал, что mysql версия до 8.0.13 принимает значение по умолчанию для столбца типа json, поэтому я использовал cmd:

ALTER TABLE templates CHANGE COLUMN values JSON NOT NULL DEFAULT '{}' ;

, но получаю ошибку:

Error Code: 1101. BLOB, TEXT, GEOMETRY or JSON column 'values' can't have a default value

Так как мне это исправить?

Я использую mysql версия 8.0.19 и инструмент клиента Workbench

1 Ответ

0 голосов
/ 12 апреля 2020

Документация гласит: :

Типам данных BLOB, TEXT, GEOMETRY и JSON можно присвоить значение по умолчанию, только если значение записано как выражение , даже если значение выражения является литералом.

Вы можете сделать выражение по умолчанию выражением, заключив буквенное значение в скобки:

ALTER TABLE templates CHANGE COLUMN values JSON NOT NULL DEFAULT ('{}') ;

Или:

ALTER TABLE templates CHANGE COLUMN values JSON NOT NULL DEFAULT (JSON_OBJECT()) ;
...