Php 更新值相同的行组的列值

Php 更新值相同的行组的列值,php,mysql,Php,Mysql,要更新组(任何唯一的str)以获得公司id和城市id列的公共值组合 表数据 ---------------------------------------- | id | group | company_id | city_id | ---------------------------------------- | 1 | (null) | 1 | 12 | | 2 | (null) | 1

要更新组(任何唯一的str)以获得公司id和城市id列的公共值组合

表数据

    ----------------------------------------
    | id |   group  | company_id | city_id |
    ----------------------------------------
    | 1  |  (null)  |   1        |    12   |
    | 2  |  (null)  |   1        |    12   |
    | 3  |  (null)  |   1        |    13   |
    | 4  |  (null)  |   1        |    13   |
    | 5  |  (null)  |   2        |    12   |
    | 6  |  (null)  |   2        |    12   |
    | 7  |  (null)  |   3        |    14   |
    ----------------------------------------
预期结果

----------------------------------------
| id |   group  | company_id | city_id |
----------------------------------------
| 1  |   123    |   1        |    12   |
| 2  |   123    |   1        |    12   |
| 3  |   223    |   1        |    13   |
| 4  |   223    |   1        |    13   |
| 5  |   345    |   2        |    12   |
| 6  |   345    |   2        |    12   |
| 7  |   467    |   3        |    14   |
----------------------------------------

您可以将
CAST
CONCAT
一起使用,例如:

UPDATE table
SET group = CAST(CONCAT(company_id, city_id) AS INTEGER)
WHERE group IS NULL;
UPDATE table
SET group = CONCAT(company_id, city_id)
WHERE group IS NULL;
如果
group
列的类型仅为
varchar
,则不需要使用
CAST
,例如:

UPDATE table
SET group = CAST(CONCAT(company_id, city_id) AS INTEGER)
WHERE group IS NULL;
UPDATE table
SET group = CONCAT(company_id, city_id)
WHERE group IS NULL;
这将确保
的值对于
公司id
城市id
的任何组合都是唯一的


以下是和的文档。

组的值的基础是什么?组列值可以是特定组的任何唯一值。