MySQL默认值作为表达式是错误的

MySQL默认值作为表达式是错误的,mysql,mysql-8.0,Mysql,Mysql 8.0,我正在运行MySQL 8.0.17,并尝试向列定义中添加默认值,特别是JSON列 create table`test`(`id`bigint unsigned not null not null auto_increment主键,`name`varchar(255)not null,`notes`json default('[]))默认字符集utf8mb4 collate'utf8mb4\u unicode\u ci' 查询执行得很好,但是当我查看表结构时,默认值列为“(\u utf8mb4'

我正在运行MySQL 8.0.17,并尝试向列定义中添加默认值,特别是JSON列

create table`test`(`id`bigint unsigned not null not null auto_increment主键,`name`varchar(255)not null,`notes`json default('[]))默认字符集utf8mb4 collate'utf8mb4\u unicode\u ci'
查询执行得很好,但是当我查看表结构时,默认值列为“(\u utf8mb4'[])”

如果我为
VARCHAR
字段设置默认值,但将字符串括在括号中,甚至会发生这种情况

我还尝试使用MySQL
JSON\u ARRAY()
函数

create table`test`(`id`bigint unsigned not null auto_increment主键,`name`varchar(255)not null,`notes`json default(json_ARRAY()))默认字符集utf8mb4 collate'utf8mb4_unicode_ci'
但这会将“(json_array())”作为字符串作为默认值

我觉得我是在根据文档写作。这是虫子吗?还是我遗漏了什么


谢谢

我的告诉我错误代码:1101。BLOB、TEXT、GEOMETRY或JSON列“notes”不能有默认值在8.0.17中为JSON列指定默认空数组似乎可以正常工作。请参阅以供参考。如何可视化表格结构?您是否确实尝试在不为json列赋值的情况下插入到表中,并检查在插入的记录中是否应用了默认值?@nbk您使用的是>v8.0.13吗@GMB这里有一个更新的,告诉你我在说什么。我用Sequel Pro将它们可视化,起初我认为这可能是问题所在,但运行
descripe table
也会显示出来。我可能没有理解的是,默认值是表达式,而不是文本值。我认为我的表达式将被计算,结果值将作为值放入。是的,我运行的是Ninh 8.0.17和workbench,我尝试了mysql WebItemine中的几个json,错误代码为:1101。BLOB、TEXT、GEOMETRY或JSON列“notes”不能有默认值在8.0.17中为JSON列指定默认空数组似乎可以正常工作。请参阅以供参考。如何可视化表格结构?您是否确实尝试在不为json列赋值的情况下插入到表中,并检查在插入的记录中是否应用了默认值?@nbk您使用的是>v8.0.13吗@GMB这里有一个更新的,告诉你我在说什么。我用Sequel Pro将它们可视化,起初我认为这可能是问题所在,但运行
descripe table
也会显示出来。我可能没有理解的是,默认值是表达式,而不是文本值。我在想,我的表达式将被求值,结果值将作为值放入。是的,我运行的是Ninh 8.0.17和workbench,我尝试了mysql网站上的几个json