我在工具中使用以下插入语句将数据从一个数据库拉入另一个数据库。
INSERT INTO act_vulnerabilities_internal_test (device_type, ip_address, user_tag,
repositoryID, severity, pluginID, pluginName, pluginText)
VALUES ("@Data.device_type~", "@Data.ip_address~", "@Data.user_tag~",
"@Data.repositoryID~", "@Data.severity~", "@Data.pluginID~", "@Data.pluginName~",
@Data.pluginText~)
错误信息:您的 SQL 语法有误;检查与您的 MySQL 服务器版本对应的手册,了解在第 3 行的“\nSynopsis :\n\nIt is possible to retrieve file backups from the remote web serv”附近使用的正确语法
我试图从其中一列中提取的数据中有很多单引号和双引号(这是从专有工具中提取的,我无法编辑数据)。给我问题的专栏是名为 pluginText 的专栏。有没有办法让数据库忽略行中包含的 ' 和 "?
mysql_real_escape_string 是我正确执行此操作所需要的吗?
最佳答案
更新:用 QUOTE()
function 做.
原始答案:
请试试这个:
INSERT INTO
...
VALUES (
...
, REPLACE(@Data.pluginText, '"', '\"')
)
或者如果你有单 和 双引号:
INSERT INTO
...
VALUES (
...
, REPLACE(REPLACE(@Data.pluginText, '"', '\"'), "'", "\'")
)
您可以阅读更多相关信息 here
关于MySQL插入包含单引号和双引号的数据给出语法错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10500880/