如何插入包含撇号(单引号)的值?

29 浏览
0 Comments

如何插入包含撇号(单引号)的值?

如何在SQL语句中正确插入包含撇号的值?

Insert into Person
  (First, Last)
Values
  'Joe',
  'O'Brien'

我一直收到错误提示,我认为撇号是值的结束标签。

admin 更改状态以发布 2023年5月23日
0
0 Comments

你只需要多加一个单引号就行了...

insert into Person (First, Last)
values ('Joe', 'O''Brien')

0
0 Comments

在SQL中,撇号(即单引号字符)需要进行转义(即双倍撇号):

INSERT INTO Person
    (First, Last)
VALUES
    ('Joe', 'O''Brien')
              /\
          right here  

对于SELECT查询也是如此:

SELECT First, Last FROM Person WHERE Last = 'O''Brien'


撇号(或单引号)是SQL中一个特殊字符,用于指定字符串数据的开始和结束。这意味着如果要将它作为文字字符串的一部分使用,需要对特殊字符进行转义。对于单引号,通常是通过将引号加倍来实现的(两个单引号字符,而不是用双引号代替单引号。)

注意:只有在通过原始SQL界面手动编辑数据时才需要考虑此问题,因为在开发和测试之外编写查询应该是比较少见的。在代码中,有各种技术和框架(具体取决于您的堆栈)来处理转义特殊字符、防止SQL注入等等。

0