簡體   English   中英

PostgreSQL 隨機化外鍵

[英]PostgreSQL randomize foreign key

我在 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

不要將關鍵字 VALUES 與插入中的選擇一起使用。 看到這個問題:

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

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

我認為您需要“引用”關鍵字。 例如:

https://www.postgresql.org/docs/current/ddl-constraints.html

create table inventory
(
 id INTEGER NOT NULL UNIQUE,
 ... other fields
);

create table events
(
 eid INTEGER REFERENCES inventory(id),
 ... other fields
);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM