处理 SQL 数据插入中的撇号
将包含撇号的数据直接插入 SQL 数据库可能会导致错误。 撇号充当字符串分隔符,可以提前终止字符串。 为了避免这种情况,您必须在 SQL 查询中转义撇号。
正确方法:
<code class="language-sql">INSERT INTO Person (First, Last) VALUES ('Joe', 'O''Brien');</code>
注意“O'Brien”中的撇号是如何通过加倍来转义的 (''
)。这清楚地向数据库表明它是字符串的一部分,而不是分隔符。
SELECT 语句中的撇号处理:
相同的转义技术适用于 SELECT
查询:
<code class="language-sql">SELECT First, Last FROM Person WHERE Last = 'O''Brien';</code>
为什么要逃避?
撇号在 SQL 中作为字符串边界的角色需要转义。 将其加倍可确保数据库将其正确解释为数据,从而防止字符串过早终止。
编程中的自动转义:
使用原始查询直接操作 SQL 需要手动撇号转义。然而,大多数编程语言和数据库框架都提供内置函数来自动处理转义,防止 SQL 注入漏洞。 强烈建议使用这些功能。
以上是如何转义 SQL INSERT 和 SELECT 语句中的撇号?的详细内容。更多信息请关注PHP中文网其他相关文章!