我目前正在编写一个Java程序,并决定使用JSON MySQL作为我的数据库。在JSON MySQL数据库中插入变量的正确语法是什么?
表:
mysql> desc sales;
+-------+---------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------+---------+------+-----+---------+-------+
| id | int(11) | YES | | NULL | |
| sale | json | YES | | NULL | |
+-------+---------+------+-----+---------+-------+Java代码:
String name = "Izzat";
String place = "Cheras";
String sql = "INSERT INTO sales(id, sale) VALUES ('9','{\"Name\":"+name+",\"Place\":"+place+"}')";我得到一个错误:
INSERT INSERT INSERT(id,sales)value ('9','{"Nama":Izzat,"Place":"Cheras"}')数据截断:无效的JSON文本:“无效的值”。在列‘sales.sell’的值中的第8位。
我可以知道这个的正确语法是什么吗?
提前谢谢你。
发布于 2018-08-16 10:18:04
错误的直接原因似乎是数据缺少双引号。因此,这应该是可行的:
String sql = "INSERT INTO sales(id, sale) ";
sql += "VALUES (9, '{\"Name\": \"" + name + ", \"Place\": \"" + place + "\"}')";
Demo
但是,鉴于JSON数据来自Java代码,您应该考虑使用可用于生成JSON字符串的JSON API之一。正如您刚才看到的,手动构建这样的JSON字符串很容易出错。
https://stackoverflow.com/questions/51868713
复制相似问题