在同一数据库中将数据从1个表传输到另一个表

时间:2015-07-01 07:51:50

标签: mysql

这是正确的语法:

INSERT INTO stock (Image) 
SELECT Image, 
FROM productimages 
WHERE stock.Name_of_item = productimages.number;

2 个答案:

答案 0 :(得分:0)

SQL Server Management Studio"导入数据"任务(右键单击数据库名称,然后单击任务)将为您完成大部分任务。从要将数据复制到的数据库中运行它。

如果表格不存在,它将为您创建表格,但您可能需要重新创建任何索引等。如果表存在,它将默认附加新数据,但您可以调整(编辑映射),以便删除所有现有数据。

我一直都在使用它,效果相当不错。

INSERT INTO bar..tblFoobar( *fieldlist* )
SELECT *fieldlist* FROM foo..tblFoobar

这只会移动数据。如果要移动表定义(以及权限和索引等其他属性),则必须执行其他操作。

答案 1 :(得分:0)

您正在尝试的查询逻辑似乎不正确(查询本身有问题)。

假设您对上述逻辑有正确的查询,并且您尝试的是通过从stock表中选择一个匹配记录为{{1}的列,将新行插入表productimages }}

上述逻辑会将冗余数据添加到表中。

您可能希望更新而不是插入,例如 -

stock.Name_of_item = productimages.number