使用Sequel Pro:如何更新包含查询的列



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

我尝试了一个简单的

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

但是由于我在查询中预先存在的",它被抛出了。

在这件事上我觉得太离谱了。试着在一个即将打开的位置上快速学习。

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

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))

通过这种方式,您可以始终使用查询中不自然出现的一些字符,并在结束时将其替换为'

我不能说哪种变体适用于你的数据库,因为你没有说你的数据库是什么。。其中ID=1

最新更新