如何插入包含撇号(单引号)的值?
如何插入包含撇号(单引号)的值?
如何在SQL语句中正确插入包含撇号的值?
Insert into Person (First, Last) Values 'Joe', 'O'Brien'
我一直收到错误提示,我认为撇号是值的结束标签。
admin 更改状态以发布 2023年5月23日
在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注入等等。