如何将另一个表中的值插入到表中 - mysql 内连接

Prochu1991

在这种情况下,我创建了 2 个表:

项目:

CREATE TABLE projects (
ID int(5) NOT NULL,
PROJECT_NAME varchar(50) NOT NULL
);

模块:

CREATE TABLE modules (
ID_MODULE int(11) NOT NULL,
NAME varchar(50),
ID_PROJECT int(11) DEFAULT NULL
);

我已将数据插入到项目表中:

INSERT INTO projects (ID, PROJECT_NAME) VALUES
(1, 'BOX'),
(2, 'Duck')

现在我想将数据插入到“模块”表中,但不使用 ID_PROJECT。我想从“项目”表中插入 PROJECT_NAME。当我尝试使用波纹管命令时:

INSERT INTO modules (ID_MODULE, NAME, projects.PROJECT_NAME)
SELECT 1, 'S-BOX', projects.PROJECT_NAME
FROM modules INNER JOIN projects
ON modules.ID_PROJECT = projects.ID AND projects.PROJECT_NAME = 'BOX';

它显示了一个错误:

1054 - 字段列表中的未知列“projects.PROJECT_NAME”

但是当我这样写时:

INSERT INTO modules (ID_MODULE, NAME, ID_PROJECT)
SELECT 1, 'S-BOX', projects.PROJECT_NAME
FROM modules INNER JOIN projects
ON modules.ID_PROJECT = projects.ID AND projects.PROJECT_NAME = 'BOX';

它没有显示任何错误,但它没有向“模块”表插入任何行记录。

我有一个问题,是否可以通过内连接另一个表(内连接“项目”表)将值插入到“模块”表中?如果是,请告诉我该怎么办。感谢您的帮助。

例如:

在“模块”表中,我没有插入任何内容。但要插入数据:

ID_MODULE = 1
NAME = "S-BOX"
projects.PROJECT_NAME = "BOX" (which is inner joined on modules.ID_PROJECT = projects.ID)
FaNo_FN

1)您的第一个查询不正确,尤其是这部分INSERT INTO modules (ID_MODULE, NAME, --> projects.PROJECT_NAME)除了要插入的表之外,您不能从另一个不同的表中定义另一列。

2)您的第二个查询是正确的。但是,如果根据您在此处的示例,由于您的查询INNER JOIN使用的modules是空表,因此不会插入任何数据您可以尝试插入而无需执行INNER JOIN以下操作:

INSERT INTO modules (ID_MODULE, NAME, ID_PROJECT)
SELECT 1, 'S-BOX', projects.PROJECT_NAME
FROM projects
WHERE projects.PROJECT_NAME='BOX';

我认为上面的查询会起作用,但您会看到以下消息:

Warning Code : 1265
Data truncated for column 'ID_PROJECT' at row 1

因为如果你看看你的列数据类型为projects.PROJECT_NAMEvarchar(50),但modules.ID_PROJECT它的int(11)基本上,当您查看 中插入的数据时modules.ID_PROJECT,您会看到0(或可能NULL)而不是 中的原始值projects.PROJECT_NAME = 'BOX'因此,您需要确保您的列数据类型匹配以保留原始数据。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何将一个表中的最新行连接到另一个表MYSQL

来自分类Dev

MySQL:如果另一个表中的值为 NULL,如何将值插入到表中?

来自分类Dev

在 MySQL 中如何使用基于另一个表的列值的名称连接表?

来自分类Dev

mysql 使用内连接和 max() 从两个表插入到一个表中

来自分类Dev

如何将数据从一个表插入和检索到mysql数据库中的另一个表

来自分类Dev

MYSQL在插入订单时触发,将通知插入到另一个表中

来自分类Dev

如何在MySQL中将一个表中的行插入到另一个表中

来自分类Dev

MySQL将子表和父表连接到同一表中,然后再将其与另一个表连接

来自分类Dev

如何使用增加的主键将表的数据复制到另一个重复的表中,以及如何使用增加的值将某些列复制到另一个重复表中。在MySQL中

来自分类Dev

如何在C#中使用其他参数将值从一个表插入mysql中的另一个表

来自分类Dev

MySQL-连接和计算另一个表中的行

来自分类Dev

mysql 连接排除另一个表中的匹配记录

来自分类Dev

使用where条件将表中的数据插入MySQL中的另一个表

来自分类Dev

mysql将2个表插入另一个表中,使用JOIN

来自分类Dev

如何将 CTE 查询与 SQL Server 2008 中的另一个表连接

来自分类Dev

我想分割逗号分隔的值,然后将每个值插入到mysql存储过程中的另一个表中

来自分类Dev

创建触发器以在创建新行时将一个表中的主键插入到MySQL中另一个表的列中

来自分类Dev

MySQL 3 表连接,一个表中的计数和另一个表中的最大时间戳

来自分类Dev

Codeigniter-MySql:将一个表的三个列值与另一个表的ID连接起来

来自分类Dev

mySQL更新列与另一个表的连接

来自分类Dev

如果MySQL中尚不存在将行从一个表插入到另一个表中

来自分类Dev

如何在更新 MySQL 中的第三个表时将多个记录从一个表插入另一个表

来自分类Dev

根据Mysql Case语句将一个表连接到另一个表

来自分类常见问题

通过TRIGGER在MySQL中从另一个表插入值

来自分类Dev

在mysql中按结果更新/插入另一个表的组的列值

来自分类Dev

将值插入mysql数据库并将其检索以插入到另一个表

来自分类Dev

从一个表中选择多个列,然后将数据插入到PHP-MySQL中另一个数据库中的另一个表中

来自分类Dev

如何根据日期条件(PHP-MySQL-Query)将一个表中的多行插入另一个表?

来自分类Dev

如何在 MySQL 中将每个表的插入或更新镜像到另一个表?

Related 相关文章

  1. 1

    如何将一个表中的最新行连接到另一个表MYSQL

  2. 2

    MySQL:如果另一个表中的值为 NULL,如何将值插入到表中?

  3. 3

    在 MySQL 中如何使用基于另一个表的列值的名称连接表?

  4. 4

    mysql 使用内连接和 max() 从两个表插入到一个表中

  5. 5

    如何将数据从一个表插入和检索到mysql数据库中的另一个表

  6. 6

    MYSQL在插入订单时触发,将通知插入到另一个表中

  7. 7

    如何在MySQL中将一个表中的行插入到另一个表中

  8. 8

    MySQL将子表和父表连接到同一表中,然后再将其与另一个表连接

  9. 9

    如何使用增加的主键将表的数据复制到另一个重复的表中,以及如何使用增加的值将某些列复制到另一个重复表中。在MySQL中

  10. 10

    如何在C#中使用其他参数将值从一个表插入mysql中的另一个表

  11. 11

    MySQL-连接和计算另一个表中的行

  12. 12

    mysql 连接排除另一个表中的匹配记录

  13. 13

    使用where条件将表中的数据插入MySQL中的另一个表

  14. 14

    mysql将2个表插入另一个表中,使用JOIN

  15. 15

    如何将 CTE 查询与 SQL Server 2008 中的另一个表连接

  16. 16

    我想分割逗号分隔的值,然后将每个值插入到mysql存储过程中的另一个表中

  17. 17

    创建触发器以在创建新行时将一个表中的主键插入到MySQL中另一个表的列中

  18. 18

    MySQL 3 表连接,一个表中的计数和另一个表中的最大时间戳

  19. 19

    Codeigniter-MySql:将一个表的三个列值与另一个表的ID连接起来

  20. 20

    mySQL更新列与另一个表的连接

  21. 21

    如果MySQL中尚不存在将行从一个表插入到另一个表中

  22. 22

    如何在更新 MySQL 中的第三个表时将多个记录从一个表插入另一个表

  23. 23

    根据Mysql Case语句将一个表连接到另一个表

  24. 24

    通过TRIGGER在MySQL中从另一个表插入值

  25. 25

    在mysql中按结果更新/插入另一个表的组的列值

  26. 26

    将值插入mysql数据库并将其检索以插入到另一个表

  27. 27

    从一个表中选择多个列,然后将数据插入到PHP-MySQL中另一个数据库中的另一个表中

  28. 28

    如何根据日期条件(PHP-MySQL-Query)将一个表中的多行插入另一个表?

  29. 29

    如何在 MySQL 中将每个表的插入或更新镜像到另一个表?

热门标签

归档