Php 更新值相同的行组的列值
要更新组(任何唯一的str)以获得公司id和城市id列的公共值组合 表数据Php 更新值相同的行组的列值,php,mysql,Php,Mysql,要更新组(任何唯一的str)以获得公司id和城市id列的公共值组合 表数据 ---------------------------------------- | id | group | company_id | city_id | ---------------------------------------- | 1 | (null) | 1 | 12 | | 2 | (null) | 1
----------------------------------------
| 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
的任何组合都是唯一的
以下是和的文档。组的值的基础是什么?组列值可以是特定组的任何唯一值。