Это старая версия документа!
MySQL - UPDATE query based on SELECT Query
How can i update itself in mysql/mariadb
Пример 1: (INNER JOIN)
<code sql>
UPDATE
Table_A
SET
Table_A.token = CONCAT_WS(':', Table_B.category_id, Table_B.form_id, Table_B.mark_id, Table_B.model_id)
FROM
tbl_category_mark_model_form Table_A
INNER JOIN
tbl_category_mark_model_form Table_B
ON
Table_A.id = Table_B.id
;
</code>
Пример 2: (SUB QUERY)
UPDATE tbl_category_mark_model_form AS tbl_1 INNER JOIN ( SELECT * FROM tbl_category_mark_model_form ) AS tbl_2 ON tbl_1.id = tbl_2.id SET tbl_1.token = CONCAT_WS(':', tbl_2.category_id, tbl_2.form_id, tbl_2.mark_id, tbl_2.model_id) ;
Пример 2: (LEFT JOIN)
UPDATE tbl_category_mark_model_form tbl_1 LEFT JOIN tbl_category_mark_model_form tbl_2 ON tbl_1.id = tbl_2.id SET tbl_2.token = CONCAT_WS(':', tbl_1.category_id, tbl_1.form_id, tbl_1.mark_id, tbl_1.model_id) ;
Пример 3: (INNER JOIN)
UPDATE tbl_category_mark_model_form tbl1 INNER JOIN tbl_category_mark_model_form tbl2 ON tbl1.id = tbl2.id SET tbl2.token = CONCAT_WS(':', tbl1.category_id, tbl1.form_id, tbl1.mark_id, tbl1.model_id) ;