将数据从主键插入外键

时间:2014-03-07 16:18:48

标签: sql

我有2个表格,这是我使用的公共列:

insert into smite (ID) 
  select ID from smitetournaments 
    where smite.tournament=smitetournaments.tname;

smite(ID)是外键,smitetournaments的ID是主要的

锦标赛与tname具有相同的值,但锦标赛有很多次重复

当我查询时

Error Code: 1054. Unknown column 'smite.tournament' in 'where clause'

2 个答案:

答案 0 :(得分:1)

我想,因为它解决了你的问题,所以答案比评论更好;

UPDATE smite s 
JOIN smitetournaments st 
  ON s.tournament=st.tname 
SET s.ID=st.ID

此更新/加入应将所有tournaments与相应的tname匹配,并使用匹配更新ID。

不匹配的ID(即smitetournaments中没有匹配tname的相应行)将保留NULL

答案 1 :(得分:0)

insert smite (ID) 
select ST.ID 
FROM smitetournaments AS ST
JOIN smite AS S
  ON S.tournament=ST.tname;