簡體   English   中英

新表中的MySQL更新列,包含來自另一個表的內容(移動)

[英]MySQL update column in new table with content from another table (move)

我有這些表(編輯出相關的字段)

mysql> desc studentcourseplan;
+-------------------+--------------+------+-----+---------+----------------+
| Field             | Type         | Null | Key | Default | Extra          |
+-------------------+--------------+------+-----+---------+----------------+
| cpl_id            | int(11)      | NO   | PRI | NULL    | auto_increment |
| student_id        | int(11)      | YES  | MUL | NULL    |                |
+-------------------+--------------+------+-----+---------+----------------+


mysql> desc studentdates;
+-----------------------+---------+------+-----+---------+----------------+
| Field                 | Type    | Null | Key | Default | Extra          |
+-----------------------+---------+------+-----+---------+----------------+
| student_date_id       | int(11) | NO   | PRI | NULL    | auto_increment |
| student_id            | int(11) | YES  |     | NULL    |                |
| student_date_cpl_id   | int(11) | YES  |     | NULL    |                |
+-----------------------+---------+------+-----+---------+----------------+

我想使用以下查詢將studentdates.student_date_cpl_idstudentcourseplan.cpl_idstudentdates.student_date_cpl_id (以排除重復項)

SELECT cpl_id FROM studentcourseplan
    WHERE 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_cpl_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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM