gpt4 book ai didi

php - MySQL/PHP : find starting string within string

转载 作者:可可西里 更新时间:2023-11-01 06:40:24 28 4
gpt4 key购买 nike

我在 mysql 表中有一个项目列表(品牌 + productModel),在另一个表中有一个品牌列表。

例子:

table_items

|id| name             | brand_id  |
-----------------------------------
| 1| Apple Mac 15 |
| 2| Dell Laptop NXY |
| 3| HP Tablet 15 |
| 4| Apple Laptop AA |
| 5| Dell Tablet VV |
| 6| HP Desktop XYZ |

table_brands

|id| name  | 
------------
| 1| Apple |
| 2| Dell |
| 3| HP |

我从以前的项目中继承了table_items,所以我需要检测table_items中的品牌名称,如果存在品牌,则将品牌ID添加到项目中列 brand_id(当前为空)

所以理想的输出是

|id| name             | brand_id  |
-----------------------------------
| 1| Apple Mac 15 | 1
| 2| Dell Laptop NXY | 2
| 3| Dell Tablet 15 | 2
| 4| Apple Laptop AA | 1
| 5| HP Tablet VV | 3
| 6| HP Desktop XYZ | 3

所以我不知道我应该使用 PHP 还是可以直接在 MySQL 中完成...如果是 PHP,我如何检测匹配的字符串?

最佳答案

您可以使用 like 连接两个表并根据需要进行更新。

UPDATE `table_items` TI 
INNER JOIN table_brands TB
ON TI.name LIKE CONCAT(TB.name, '%')
SET TI.brand_id = TB.id

备注:INNER JOIN只会更新那些匹配的字段。

关于php - MySQL/PHP : find starting string within string,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37201878/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com