MySQL数据库迁移

时间:2013-05-09 17:20:29

标签: mysql sql

晚上好,

我需要在MySql Workbench中为学校项目组合两个表。问题是一个表有PK而另一个表没有。因此没有PK的那个具有双ID和ID已经存在于具有PK ID的表中。 (注意:id不是自动增量)

示例表a:

Id | name  | ...
----------------
 1 | test  |
11 | test2 |
22 | test4 |

等等。

示例表b :(没有PK)

Id  | name
-----------
  1 | name1
 11 | nam2
  0 | nam31
  0 | na4e1
  0 | nam4
334 | n4e1

表b具有已存在于表a中的Id,并且表b具有双重ID号...

我想要执行以下操作,但似乎mysql没有获得该事务中最后插入的ID。

USE flyaway;

INSERT INTO staff (`name`, staffnumber, `type`, primaryAirport)
SELECT flyaway_excel.staff.`name`, 
       flyaway_excel.staff.staffnumber,
       flyaway_excel.staff.`type`, 
       (SELECT `code`
          FROM airport
         WHERE `name` = flyaway_excel.staff.primary_Airport)
  FROM flyaway_excel.staff
ON DUPLICATE KEY UPDATE staffnumber = LAST_INSERT_ID() + 1;

有人知道我在MySQL中如何做到这一点吗?我看到另一个帖子,有人告诉我使用Cursor ..但似乎MySql Workbench不支持游标?

帮助很多了

0 个答案:

没有答案