mysql - 在两个表之间传输一个值,其中一个字段与另一个字段%LIKE%

标签 mysql sql-like

我正在尝试在 2 个表之间传输,其中一列与另一列 %LIKE%。

在表“juice”中,我有字段 title、brandid 和 id。

在“品牌”表中,我有 ID 和标题。

juice 中的标题字段将始终包含与品牌中的标题完全匹配的内容 - 以及一些其他字符串。

因此,我尝试检查 Brands.title 是否为 %LIKE% Juice.title,如果是,则将 Brands.id 放入 Juice.brandid 字段中。

这是我目前拥有的:

INSERT INTO juice(brandid) 
SELECT id FROM brands 
WHERE title LIKE CONCAT('%', @juice.title, '%')

最佳答案

听起来更像是您想要一个UPDATE而不是一个INSERT。看看是否

UPDATE juice
       SET brandid = (SELECT brands.id
                             FROM brands
                             WHERE brands.title LIKE concat('%', juice.title, '%');

适合你。请注意,这要求 brands 中只有一行匹配。如果有更多行匹配,您需要额外定义哪一行是正确的。

关于mysql - 在两个表之间传输一个值,其中一个字段与另一个字段%LIKE%,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50537426/

相关文章:

java - 如何从java中的类访问变量值

php - INSERT ON DUPLICATE KEY UPDATE IF 语句

sql - 使用 NOT LIKE 在 Access 中查询

MySQL 使用 IN 和 LIKE 通配符查找数据

MySQL 工作台。如何使用 LIKE、OR 和 AND 设置多个条件

php - 如何在wordpress中调用存储过程?

mysql - “查询中断”,如何运行很长的MySQL程序?

sql - SQL 中的动态 Like 语句

mysql - 从数据库中存储的完整路径中提取目录名

mysql - 如何查询mysql以选择具有两列非唯一组合的行