我目前正在编写一个 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 INTO sales(id, sale) VALUES ('9','{"Nama":Izzat,"Place":"Cheras"}') 数据截断:无效的 JSON 文本:“无效值。”在“sales.sale”列的值的第 8 位。
请问正确的语法是什么?
提前谢谢你。
最佳答案
错误的直接原因似乎是数据缺少双引号。所以这应该有效:
String sql = "INSERT INTO sales(id, sale) ";
sql += "VALUES (9, '{\"Name\": \"" + name + ", \"Place\": \"" + place + "\"}')";
Demo
但是,鉴于 JSON 数据来自您的 Java 代码,您应该考虑使用一种可用的 JSON API 来生成 JSON 字符串。如您所见,手动构建这样的 JSON 字符串很容易出错。
关于mysql - 使用 Java 的 JSON MySQL 数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51868713/