首页 > 解决方案 > PostgreSQL 随机化外键

问题描述

我在 Postgres 中有 2 个表(库存表事件表)。在清单表中,我的主键由 8 个字符串组成。示例“03163161”。

现在我必须使用库存表上的主键将它们随机输入到事件表中。

我可以通过什么方式做到这一点?我试过用谷歌搜索,但似乎没有人对此有解决方案,我正在尝试如何将库存表的 PK 随机输入到事件表中,因为数据几乎是 3k。

更新#1

我试过使用下面的代码

INSERT INTO dashboard.event(terminal_id) VALUES (SELECT terminal_id FROM dashboard.inventory)

但我得到了错误:

ERROR:  syntax error at or near "SELECT"
LINE 1: INSERT INTO dashboard.event(terminal_id) VALUES (SELECT term...
                                                         ^
SQL state: 42601
Character: 50

标签: sqlpostgresqlsql-insert

解决方案


不要将关键字 VALUES 与插入中的选择一起使用。看到这个问题:

从 PostgreSQL 中的子查询更新或插入(多行和多列)

INSERT INTO dashboard.event(terminal_id) 
SELECT terminal_id 
FROM dashboard.inventory --should work

推荐阅读