我正在尝试在两个表之间进行转移,其中一列是%LIKE%另一列。
在表格“juice”中,我有字段标题,brandid和id。
在“品牌”表中,我有id和title。
juice中的title字段将始终包含与品牌中标题的完全匹配 - 以及其他一些字符串。
所以我试图检查brands.title是否是%LIKE%juice.title,如果是的话,将brands.id放在juice.brandid字段中。
这就是我目前的情况:
INSERT INTO juice(brandid)
SELECT id FROM brands
WHERE title LIKE CONCAT('%', @juice.title, '%')
答案 0 :(得分:0)
听起来更像是想要UPDATE
而不是INSERT
。看看
UPDATE juice
SET brandid = (SELECT brands.id
FROM brands
WHERE brands.title LIKE concat('%', juice.title, '%');
适合你。请注意,这需要brands
中只有一行匹配。如果更多行匹配,则需要另外定义哪一行是正确的。