我要使用MySQL,“插入”具有特定值的表,该值必须在与另一个表中的ID相等的ID之间进行选择。
我需要做类似的事情:
insert into activity (date_created, action, source) values ("2018-12-05 07:00:00", "UNSUBSCRIBE", "MIGRATE") where activity.customer_id = (select customer.id from customer where customer.cell_phone_number = "123456");
答案 0 :(得分:1)
您可以使用INSERT...SELECT语法:
INSERT [LOW_PRIORITY | HIGH_PRIORITY] [IGNORE]
[INTO] tbl_name
[PARTITION (partition_name [, partition_name] ...)]
[(col_name [, col_name] ...)]
SELECT ...
[ON DUPLICATE KEY UPDATE assignment_list]
也许是这样的:
INSERT INTO activity (date_created, action, source, customer_id)
SELECT "2018-12-05 07:00:00" AS date_created, "UNSUBSCRIBE" AS action, "MIGRATE" AS source, id
FROM customer
WHERE cell_phone_number = "123456";