[英]Update a table in MySQL with all data from another table
我有3個表:ak_class,ak_objects,ak_class_object ak_class:
class_id | class_description | class_name |
1 | some description | some name |
2 | some description | some name |
3 | some description | some name |
ak_objects:
object_id | object_description | object_name |
1 | some description | some name |
2 | some description | some name |
3 | some description | some name |
ak_class_object:
class_object_id | class_id | object_id |
1 | 1 | 1 |
2 | 2 | 2 |
3 | 3 | 3 |
我需要用ak_class
表中的ak_class_object
和ak_class
表中的object_id ak_objects
。
問題是如何更新ak_class表中具有所有ID的class_id(我需要更新,因為當前存在一些錯誤數據)? 我正在考慮將其與JOIN一起使用,但我不知道該使用哪個ID來加入它們,因為class_id僅用於更新
UPD:我正在嘗試這樣做,但是沒有用:
DELIMITER $$
DROP PROCEDURE class_object_1$$
CREATE PROCEDURE class_object_1()
BEGIN
DECLARE i INT DEFAULT 0;
WHILE (i < 250000) DO
UPDATE ak_class_object
SET class_id = SELECT DISTINCT class_id from ak_class, object_id = SELECT DISTINCT class_id from ak_objects;
SET i = i + 1;
END WHILE;
END$$
我正在編寫通用語法,根據您的要求更改表名和列名。
update table1 inner join table2
on table1.id = table2.fk_id
set table1.column = table1.columnUpdated
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.