如何替换列中的字符串,这是另一个 Table 中的外键

How to replace a string in a column, which is a foriegn key in another Table

我正在尝试使用 SQL 替换查询:

UPDATE mytable SET theId = Replace(theId, 'E', 'T')

问题是 theId 是另一个 table mytable2 中的键,因为 theNumber

我得到的错误是:

ERROR: insert or update on table "mytable" violates foreign key constraint "mytable_theId_a0b4efa1_fk_mytable2_theNumber"
SQL state: 23503
Detail: Key (theId)=(763755.46T292326.83N) is not present in table "mytable2".

这就像我必须同时以某种方式进行连接替换或其他操作,不知道该怎么做。或者,也许我必须更改 table 以暂时摆脱关系,进行更改并以某种方式重新添加关系? (不知道如何删除密钥等。)(在 pgAdminIII 中查看我什至看不到我在哪里可以得到要删除和重新添加的密钥的名称)

我正在尝试更改一些值,基本上是字符串替换。

763755.46E292326.83N

为此:

763755.46T292326.83N

Alter table myTable2 DROP CONSTRAINT mytable_theId_a0b4efa1_fk_mytable2_theNumber 

UPDATE mytable SET theId = Replace(theId, 'E', 'T')

Alter table myTable2  ADD CONSTRAINT FK_myTable2_theID FOREIGN KEY(theNumber) REFERENCES myTable2(theId)