mysql 5.7 binary_MySQL 5.7.20:无法使用CHARACTER SET'binary'从字符串创建JSON值
时间: 2023-12-04 12:06:16 浏览: 86
这个问题通常出现在 MySQL 5.7.20 及其更高版本中,并且可能与 JSON 数据类型的文本编码有关。解决此问题的一种方法是使用 CAST() 函数将字符串转换为 BINARY 类型,然后再将其转换为 JSON 类型。例如,假设您有一个名为 `myjson` 的 JSON 字符串:
```
SET @myjson = '{"name": "John", "age": 30}';
```
您可以使用以下查询将其转换为 JSON 类型:
```
SELECT CAST(CAST(@myjson AS BINARY) AS JSON);
```
如果您需要在 INSERT 或 UPDATE 查询中使用 JSON 值,请确保在查询中使用相同的 CAST() 函数。例如:
```
INSERT INTO mytable (json_column) VALUES (CAST(CAST(@myjson AS BINARY) AS JSON));
```
这样就可以成功将 JSON 字符串转换为 JSON 类型并将其插入到表中。
阅读全文