使用外键的 MySQL INSERT 语法

发布于 2024-12-11 20:04:04 字数 488 浏览 0 评论 0原文

我遇到了这个问题..这很快就不是问题了,但如果可能的话,我不想使用多个查询。

我想使用另一个表中的数据在表中插入数据。这是例子: 我有 table1:

TABLE1
id  name  value  max_data  diff

并且这是 table2

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

I've got this problem.. it's soon not problem, but i want not to use more than one query if it is possible.

i want to insert data in the table using data from another table. here's example:
i have table1:

TABLE1
id  name  value  max_data  diff

AND Here's is table2

TABLE2
id name max_data
1  nm1  8000
2  nm2  9000
3  nm3  9500
4  nm4  9600
...

While inserting i know id from table2 and i want to use name and max_data from it. Something like this:

INSERT INTO table1 (value, diff, name, max_data) VALUES (5.0, -0.3, table2.name table2.max_data) WHERE table2.id = 3

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

薆情海 2024-12-18 20:04:04

你是这个意思吗?

insert into table1 (value, diff, name, max_data)
select 5.0, -0.3, name, max_data
from table2
where id = 3

您可以在 SELECT 子句中包含所需的任何文字。您还可以使用此技术一次插入多行。

Do you mean this?

insert into table1 (value, diff, name, max_data)
select 5.0, -0.3, name, max_data
from table2
where id = 3

You can include whatever literals you want in a SELECT clause. You can also use this technique to insert multiple rows at once.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文