如何替换列中的字符串,这是另一个 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)
我正在尝试使用 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)