假设我有两张桌子。有没有办法同时在两个行中插入行?当我有一张桌子时我就可以做到
INSERT INTO users (first_name, last_name, email) VALUES ('Tom','Prats','tom@tomprats.com'), ('Tim', 'Prats', tim@tomprats.com);
如果我现在有一个存储电子邮件的表,以及一个存储名字和姓氏的关联表,我该如何同时插入两个?请记住,我正在导入大量数据。
Table "users"
Column | Type | Modifiers
---------------------+---------------+-----------
id | character(36) | not null
email | text |
Indexes:
"pk_users" PRIMARY KEY, btree (id)
Foreign-key constraints:
"fk_users_attributes" FOREIGN KEY (attributes_id) REFERENCES user_attributes(id)
Table "user_attributes"
Column | Type | Modifiers
-----------------+---------------+-----------
id | character(36) | not null
first_name | text |
last_name | text |
Indexes:
"pk_user_attributes" PRIMARY KEY, btree (id)
Referenced by:
TABLE "users" CONSTRAINT "fk_users_attributes" FOREIGN KEY (attributes_id) REFERENCES user_attributes(id)
答案 0 :(得分:1)
您不能仅通过插入来执行此操作。
如果必须在一行中执行此操作,最好的方法是编写一个将执行2次插入的短函数。这将导致每次调用一次事务(如果这是主要问题)。