一个查询中的多个insert-into语句

5t7ly7z5  于 2021-06-20  发布在  Mysql
关注(0)|答案(1)|浏览(407)

我有两张table:bt和st。下面是我希望能完成的:

INSERT INTO BT (c1,c2,c3) values (v1,v2,v3)

st是一个有89行和一列的表。如果是这样,我可以如何构造一个查询,以便insert对st表中的89个值中的每一个都有效?
(请记住:这些值是随机的,没有数学联系,我可以把它们联系起来)
c1-c3=第1列、第2列、第3列
v1-v3=value1、value2、value3(v2和v3是预定义和设置的,不需要更改)
我尝试了更明显的事情却没有成功,比如:

INSERT INTO BT (c1,c2,c3) values ((select c1 from ST),v2,v3)

但这行所做的只是返回一个一般的sql语法错误。
我承认这可以用89行“insert into”来执行,我每次都更改一个值,但是这可以用更优雅的方式来完成吗?
我在用mysql

sc4hvdpw

sc4hvdpw1#

你只是想 insert . . . select :

insert into BT (c1, c2, c3) 
   select c1, v2, v3
   from ST

相关问题