php - 尝试将 MYSQL 的表字段类型从 BLOB 更改为 JSON

标签 php mysql json database blob

尝试为 MySql 数据库运行语句时,我不断收到错误消息。我想要做的是将列名称的类型从 BLOB 更改为 JSON。

声明如下:

ALTER TABLE `main_db`.`main_table` 
CHANGE COLUMN `name` `name` JSON CHARACTER SET 'utf8mb4' NULL DEFAULT NULL ;

这是 workbench 自动为我创建的东西,当我运行它时...我得到这个错误:

Operation failed: There was an error while applying the SQL script to the database.
Executing:
ALTER TABLE `main_db`.`main_table` 
CHANGE COLUMN `name` `name` JSON CHARACTER SET 'utf8mb4' NULL DEFAULT NULL ;

ERROR 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 'CHARACTER SET 'utf8mb4' NULL DEFAULT NULL' at line 2
SQL Statement:
ALTER TABLE `main_db`.`main_table` 
CHANGE COLUMN `name` `name` JSON CHARACTER SET 'utf8mb4' NULL DEFAULT NULL

任何帮助将不胜感激。

谢谢:)

最佳答案

如何通过 TEXT 分两步将列转换为 JSON?

ALTER TABLE `main_db`.`main_table` MODIFY `name` TEXT;
ALTER TABLE `main_db`.`main_table` MODIFY `name` JSON;

使用 MODIFY instead of CHANGE因为您不需要重命名该列。

关于php - 尝试将 MYSQL 的表字段类型从 BLOB 更改为 JSON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42311153/

相关文章:

php - 使用 Vim 正确缩进 HTML 和 PHP

php - Mysql 日期时间的交集

php - Codeigniter:函数中的位置

php - 尝试使用 where 子句从两个不同的表中提取时出现 Mysql 查询错误

mysql - Easy mySQL Group By 问题

php - 根据 ID 表将单独的数组结果发送到打印机

javascript - JQuery Datepicker 删除已填充的日期字段

javascript - 将 json 字符串转义为十六进制表示法

ios - 提要不一致时解码 JSON - Swift

jquery html 未在 getJSON 函数范围内传递回 html 变量问题