选择进入WHERE

时间:2014-03-30 02:33:27

标签: sql

我目前正在合并我的数据库中的两个表。我试图使用此代码:

    INSERT INTO starinformation( pageX, pageY ) 
SELECT pageX, pageY
FROM starmaptopdown
WHERE starID = starinformation.starID

但代码不起作用。该查询表明所有表都已生效,但信息未放入数据库/

1 个答案:

答案 0 :(得分:3)

select上的insert查询无法与正在插入的表相关联。我猜你想要update而不是insert。具体格式因数据库而异。在MySQL中,语法为:

update startinformation i join
       starmaptopdown md
       on i.startID = md.startID
    set i.pageX = md.pageX,
        i.pageY = md.pageY;

在SQL Server和Postgres中:

update startinformation 
    set pageX = md.pageX,
        pageY = md.pageY
    from startinformation join
         starmaptopdown md
          on i.startID = md.startID;