我遇到了这个问题..这很快就不是问题了,但如果可能的话,我不想使用多个查询。
我想使用另一个表中的数据在表中插入数据。这是例子: 我有表1:
TABLE1
id name value max_data diff
这是表2
TABLE2
id name max_data
1 nm1 8000
2 nm2 9000
3 nm3 9500
4 nm4 9600
...
插入时我知道 table2 中的 id 并且我想使用其中的 name 和 max_data 。像这样的事情:
INSERT INTO table1 (value, diff, name, max_data) VALUES (5.0, -0.3, table2.name table2.max_data) WHERE table2.id = 3
最佳答案
你是这个意思吗?
insert into table1 (value, diff, name, max_data)
select 5.0, -0.3, name, max_data
from table2
where id = 3
您可以在 SELECT 子句中包含所需的任何文字。您还可以使用此技术一次插入多行。
关于使用外键的 MySQL INSERT 语法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7865192/