Mysql 将数据从一个表传输到同一数据库中的另一个表

Mysql 将数据从一个表传输到同一数据库中的另一个表,mysql,Mysql,这是正确的语法吗: INSERT INTO stock (Image) SELECT Image, FROM productimages WHERE stock.Name_of_item = productimages.number; SQLServerManagementStudio的“导入数据”任务(右键单击数据库名称,然后单击任务)将为您完成大部分工作。从要将数据复制到的数据库中运行它 如果这些表不存在,它将为您创建它们,但您可能需要重新创建任何索引等。如果表确实存在,默认情况下它

这是正确的语法吗:

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

SQLServerManagementStudio的“导入数据”任务(右键单击数据库名称,然后单击任务)将为您完成大部分工作。从要将数据复制到的数据库中运行它

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

我一直都在用这个,而且效果相当不错

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

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

您尝试的查询逻辑似乎不正确(查询本身有缺陷)

假设您对上述逻辑有正确的查询,并且您正在尝试的是通过从
productimages
表中选择一列将新行插入表
stock
,该列的匹配记录为
stock.Name\u of\u item=productimages.number

上述逻辑将向表中添加冗余数据

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

update stock s
join productimages p on p.number = s.Name_of_item
set s.Image = p.Image

如果你在图片后面去掉逗号似乎没问题是的,我试过了,它说where子句中有一个错误,表示未知的stock.Name\u of\u Item。但是当我检查表时,名称是正确的;请查看与您的MySQL服务器版本对应的手册,以了解第4行的“of item=productimages.number”附近使用的正确语法对不起,我没有使用sql server我使用的是phpmyadmin您可以在控制台的phpmyadmin页面中运行此操作您遇到了什么错误?同时提供问题的表格结构。如果表结构如问题中所述正确,并且两个表都以
stock.Name\u of_item=productimages.number
的形式连接,并且在这两个表上都有
Image
列,则上述查询应该可以工作。确保您有
在查询的末尾。#1064-您的SQL语法有错误;检查与MySQL服务器版本对应的手册,了解第2行项集s.Image=p.Image“的正确语法。共享您正在使用的查询。我正在使用您回答的查询。错误为:项的
正确语法使用near
看起来您缺少项的
名称