【问题标题】:Inserting a string 'india's' into a sql database [duplicate]将字符串'india's'插入sql数据库[重复]
【发布时间】: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 等。

标签: sql database


【解决方案1】:

以下内容会有所帮助

INSERT INTO Xyz VALUES('Ram''s') 

对于一个单引号,放置两个单引号。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-20
    • 1970-01-01
    • 2015-06-26
    • 1970-01-01
    • 2013-06-22
    相关资源
    最近更新 更多