我想使用 JDBC 向我的 sql 数据库添加一个字符串。但问题是,只要字符串包含双引号,sql 命令就会被完全不同地解释,并抛出“你的 SQL 语法有错误;检查与你的 MySQL 服务器版本对应的手册以获得正确的语法” ”
例如, String ssql = "INSERT INTO tableName VALUES (\""+ string + "\")";
如果 string = "abc", then sql = INSERT INTO tableName VALUES ("abc")
但是如果 string = "ab\"cd", 那么 sql = INSERT INTO tableName VALUES ("ab"c")
因此,对于包含双引号的字符串,sql 命令的解释完全不同。
如何将这样的字符串添加到数据库中。
附言。我负担不起将双引号更改为单引号。并且可以有其他技巧来添加这样的字符串,但我想知道是否真的没有直接添加这样的字符串的方法。
最佳答案
您需要转义字符串值以在查询中生成字符串文字。
当您使用引号分隔字符串时:
字符串中的反斜杠 (
\
) 应替换为两个反斜杠。字符串中的引号 (
"
) 应替换为反斜杠和引号。
如果您使用撇号 ('
) 来分隔字符串(这在 SQL 中更常见),您将转义撇号而不是引号。
如果可能,您应该使用参数化查询,而不是将值连接到查询中。
关于mysql - 如何将包含双引号的字符串添加到sql数据库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24698040/