首页 > 解决方案 > 使用 Sequel Pro:如何更新包含查询的列?

问题描述

所以基本上我有一个名为“查询”的列,其中包含一个查询。我需要更新该查询,但不知道如何。

我尝试了一个简单的

UPDATE TABLE
SET QUERY = 'New Query'
WHERE ID = 1 

但由于我在查询中已经存在'',它被丢弃了。

在这一点上超出我的联盟。试图在飞行中学习一个即将开放的职位。

标签: sqlsql-update

解决方案


您必须在查询中转义 ',可能通过将它们加倍或在它们之前使用转义字符:

UPDATE t
SET query = 'DELETE FROM x WHERE y = ''z'' '
WHERE ID = 1


UPDATE t
SET query = 'DELETE FROM x WHERE y = \'z\' ' ESCAPE '\'
WHERE ID = 1

您还可以使用 REPLACE 让生活更轻松/更整洁,例如:

UPDATE t
SET query = REPLACE('DELETE FROM x WHERE y = "z" AND a = "b" AND c = "d" ', '"', CHAR(39))

这样你就可以使用一些在查询中不会自然出现的字符,并'在最后替换它

我不能说哪种变体适用于您的数据库,因为您没有说您的数据库是什么...... WHERE ID = 1


推荐阅读