在mysql中插入查询

在mysql中插入查询,mysql,sql-server,Mysql,Sql Server,有人帮我把下面的sql查询转换成mysql查询吗 INSERT INTO [FLOOR].[dbo].[ProjectEmployeeMapping] ([ProjectId] ,[EmployeeId]) select distinct prj.ProjectId, emp.EmployeeId from Employees emp inner join FLOOR.dbo.EmployeeProject ep on emp.Employe

有人帮我把下面的sql查询转换成mysql查询吗

INSERT INTO [FLOOR].[dbo].[ProjectEmployeeMapping]
           ([ProjectId]
           ,[EmployeeId])
    select distinct prj.ProjectId, emp.EmployeeId  from
Employees emp inner join FLOOR.dbo.EmployeeProject ep
on emp.EmployeeRefID = ep.[Resource ID]
inner join Projects prj on
ep.[Project ID] = prj.ProjectCode

提前感谢。

MySQL不使用三部分命名,所以您需要知道目标表

INSERT INTO ProjectEmployeeMapping(ProjectId, EmployeeId)
    select distinct prj.ProjectId, emp.EmployeeId
    from Employees emp inner join
         EmployeeProject ep
         on emp.EmployeeRefID = ep.`Resource ID` inner join
         Projects prj
         on ep.`Project ID` = prj.ProjectCode;

此查询的主要问题是使用方括号转义标识符。MySQL使用backticks。最好给没有空格的列名。

上面是sql查询,我需要等效的mysql查询。它没有运行。当然会说一些语法错误。但是你在哪里被卡住了,或者你认为我们是为你做的?你对它的哪一部分有疑问?您是否收到一条不理解的错误消息?此查询的哪一个导致MySQL中出现错误?22:32:55插入[FLOOR].[dbo].[ProjectEmployeeMapping]([ProjectId],[EmployeeId])从[FLOOR].[dbo].[Employees]emp内部联接[FLOOR].[dbo].[EmployeeProject]中选择不同的prj.ProjectId,emp.EmployeeIdemp.EmployeeRefID=ep上的ep。[资源ID]内部联接[cgiFLOOR].[dbo].[Projects]prj在ep上。[项目ID]=prj.ProjectCode错误代码:1064。您的SQL语法有错误;请查看与MySQL服务器版本对应的手册,以了解在“[FLOOR].[dbo].[ProjectEmployeeMapping]([ProjectId],[E]”附近使用的正确语法