Это старая версия документа!


MySQL - UPDATE query based on SELECT Query

How can i update itself in mysql/mariadb

<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>

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)
;
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)
;
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)
;