MySQL使用另一个表中的内容更新新表中的列(移动)

MySQL使用另一个表中的内容更新新表中的列(移动),mysql,subquery,move,Mysql,Subquery,Move,我有这些表(已编辑的irelevant字段) 我想使用以下查询将列studentcourseplan.cpl\u id复制到studentdates.student\u date\u cpl\u id(排除重复项) 当我在studentdates.student\u date\u cpl\u id SELECT中执行正常的插入操作时,…会添加到新行,而不会更新当前行。我怎样才能做到这一点呢?试试这样的方法 Update studentdates s,studentcourseplan sp S

我有这些表(已编辑的irelevant字段)

我想使用以下查询将列
studentcourseplan.cpl\u id
复制到
studentdates.student\u date\u cpl\u id
(排除重复项)


当我在studentdates.student\u date\u cpl\u id SELECT中执行正常的
插入操作时,…
会添加到新行,而不会更新当前行。我怎样才能做到这一点呢?

试试这样的方法

Update  studentdates s,studentcourseplan sp
SET s.student_date_cpl_id = sp.cpl_id
where s.student_id=sp.student_id            
and s.student_id not in('50', '51', '85', '86', '90', '95', '89', '91', '92', '93', '94', '97', '98', '99', '100', '88')
INSERT INTO studentdates.student_date_id,
     studentdates.student_date_cpl_id
select .... (join your tables)

ON DUPLICATE KEY UPDATE studentdates.student_date_cpl_id = studentcourseplan.cpl_id
看一看:
Update  studentdates s,studentcourseplan sp
SET s.student_date_cpl_id = sp.cpl_id
where s.student_id=sp.student_id            
and s.student_id not in('50', '51', '85', '86', '90', '95', '89', '91', '92', '93', '94', '97', '98', '99', '100', '88')
INSERT INTO studentdates.student_date_id,
     studentdates.student_date_cpl_id
select .... (join your tables)

ON DUPLICATE KEY UPDATE studentdates.student_date_cpl_id = studentcourseplan.cpl_id