Nik*_*nka 3 mysql sql database jdbc
我想使用 JDBC 向我的 sql 数据库添加一个字符串。但问题是,只要字符串包含双引号,那么 sql 命令的解释就会完全不同,并且会抛出“您的 SQL 语法有错误;请检查与您的 MySQL 服务器版本相对应的手册以获取正确的语法” .”
例如,String ssql = "INSERT INTO tableName VALUES (\""+ string + "\")";
如果 string = "abc",则 sql = INSERT INTO tableName VALUES ("abc")
但如果 string = "ab\"cd",则 sql = INSERT INTO tableName VALUES ("ab"c")
因此对于一个字符串包含双引号,sql 命令的解释完全不同。
如何将这样的字符串添加到数据库中。
附注。我无法将双引号更改为单引号。并且可以有其他技巧来添加这样的字符串,但我想知道是否真的没有直接添加这样的字符串的方法。
您需要对字符串值进行转义以在查询中生成字符串文字。
当您使用引号分隔字符串时:
\
字符串中的反斜杠 ( ) 应替换为两个反斜杠。
"
字符串中的引号 ( ) 应替换为反斜杠和引号。
如果您使用撇号 ( '
) 来分隔字符串(这在 SQL 中更常见),您将转义撇号而不是引号。
如果可能,您应该使用参数化查询,而不是将值连接到查询中。
归档时间: |
|
查看次数: |
21988 次 |
最近记录: |