使用外键的 MySQL INSERT 语法

标签 mysql insert foreign-keys

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

我想使用另一个表中的数据在表中插入数据。这是例子: 我有表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/

相关文章:

php - 使用 Laravel Eloquent 连接同一服务器上不同数据库中的两个 MySQL 表

sql - 使用 COPY 在 postgresql 表中插入附加列值(文件中不可用)

MYSQL 插入一个新的重复条目,但具有一些不同的定义字段

mysql - 添加一列到复合主键,该列也是其他表中的外键

mysql - 插入时自动用外键替换值

php - 显示从 3 个月前到今天的 MySQLi 结果

mysql - 需要使用mysql表中当前行的内容来使用jsp打印

mysql - 如何在 CentOS 上从 C UDF 连接到 MySQL 数据库

php - 将图像上传到文件夹并获取其路径名

mysql - 约束以防止在第三个表中违反 FK 约束