如果我有一个表,并且需要另一个值中的一个值,而其他值来自其他地方,我是否必须每次都运行选择?
INSERT INTO table1 (name, otherValue) VALUES (SELECT name FROM table2 WHERE id = 1, outsideValue1), (SELECT name FROM table2 WHERE id = 1, outsideValue2), (SELECT name FROM table2 WHERE id = 1, outsideValue3);
所以名称是相同的,而 otherValue 每次都不同,我试图批量插入。
一种方法是将“其他值”放入派生表中,以便与单个源记录交叉连接:
在MySQL 8.0.19及以上版本中,我们可以使用VALUES/ROW语法: