【发布时间】:2018-02-05 23:17:21
【问题描述】:
我有一张桌子 xyz(name varchar(200)) 我想插入名称,例如 1.ramu的 2.shyam的 当我尝试使用 insert as 插入时 它抛出一个错误
quoted string not properly terminated
insert into xyz values('ramu's');
【问题讨论】:
-
什么数据库? pl/sql 不是 mysql。请仅使用相关标签。如果你想要一个嵌入的引号,那么你需要用两个引号 '' 来转义它
-
使用参数化查询或适当的转义字符。 (加倍 ' 所以
insert into xyz values('ramu''s');在这种情况下应该可以工作。)但是假设用户传入';drop table xyz;--'而不是ramu's会发生什么? xkcd.com/327 -
这个引用问题在所有 SQL 风格中都是相同的,因此该解决方案适用于 MySQL、PL/SQL、Redshift 等。