我有以下MySQL
查询
UPDATE customers_basket
SET flag = '1'
WHERE products_id = '8523'
AND customers_id = '7221'
但是products_id
后缀为':'
和其他数字,例如它可能是
8523:d32ee9341c0e1d75b8ab25be583a3829.
其他数字与所选属性有关。
MySQL
是否能够在处理查询的products_id
部分时仅将WHERE
与冒号之前的值进行比较?
答案 0 :(得分:1)
你可以试试
UPDATE customers_basket
SET flag = '1'
WHERE
substring_index(products_id,':',1) = '8523'
AND customers_id = '7221'
答案 1 :(得分:1)
使用"喜欢"运营商:
UPDATE customers_basket
SET flag = '1'
WHERE products_id LIKE '8523%' // return all id starting by 8523...
AND customers_id = '7221'
"像"运营商:
LIKE '%a%' // all which contains 'a'
LIKE 'a%' // all which starting by 'a'
LIKE '%a' // all which ending by 'a'
答案 2 :(得分:0)
试
UPDATE customers_basket
SET flag = '1'
WHERE products_id like '8523:%'
AND customers_id = '7221'
答案 3 :(得分:0)
您可以使用LIKE:
UPDATE customers_basket
SET flag = '1'
WHERE products_id like '8523:%'
AND customers_id = '7221'
LIKE:http://dev.mysql.com/doc/refman/5.0/en/pattern-matching.html
的解释答案 4 :(得分:0)
在这种情况下你也可以使用like子句:
如 -
UPDATE customers_basket
SET flag = '1'
WHERE products_id LIKE '8523%'
AND customers_id = '7221';
这可能对您有所帮助。