最近迁移的表列,从数据类型Text到Json。
假设我有一个带有此表定义的列表表并在其中插入了一些记录
CREATE TABLE `listing` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`data` json NOT NULL,
`created_at` timestamp NULL DEFAULT NULL,
`updated_at` timestamp NULL DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=10 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin
当我尝试更新JSON指定列中的任何数据时,它会抛出异常:数据截断:无法从字符集'binary'的字符串创建JSON值
虽然遵循了文章:https://dev.mysql.com/doc/refman/5.7/en/json.html
也引用 utf8mb4_bin ,因为JSON值的比较区分大小写