我目前正在合并我的数据库中的两个表。我试图使用此代码:
INSERT INTO starinformation( pageX, pageY )
SELECT pageX, pageY
FROM starmaptopdown
WHERE starID = starinformation.starID
但代码不起作用。该查询表明所有表都已生效,但信息未放入数据库/
答案 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;