我有一个mysql表,有字段a、字段b、字段c和字段d。我想运行一个查询,如果“字段c”有单词“dog”,那么“字段a”将被复制到“字段b”。我可以让“a区”复制到“b区”,但我只需要在“c区”有“狗”这个词的时候复制。希望以上说法有道理。我用的是phpmyadmin,对我所做的事情有一个“一般”的理解,因为我不是任何方面的Maven!谢谢你的阅读和帮助!
yb3bgrhw1#
如果 has 意思是“准确”那么:
has
UPDATE mytable SET fieldb = fielda WHERE fieldc = 'dog';
如果 has 表示“包含”,然后:
UPDATE mytable SET fieldb = fielda WHERE fieldc LIKE '%dog%';
bbuxkriu2#
您的查询应该是这样的:
UPDATE table SET fieldb = fielda WHERE fieldc LIKE '%dog%'
意思是:如果在c区内你发现了单词dog(即“狗在家里”),那么将B区的值设置为等于a区的值如果要查找字段c的精确匹配,可以使用:
UPDATE table SET fieldb = fielda WHERE fieldc = 'dog'
如果字段c只包含单词dog
62lalag43#
你可以加上 WHERE fieldc like '%dog%' 或你可以用 case ```UPDATE someTableSET fieldb = CASE WHEN fieldc LIKE '%dog%' THEN fielda ELSE fieldb END
WHERE fieldc like '%dog%'
case
3条答案
按热度按时间yb3bgrhw1#
如果
has
意思是“准确”那么:如果
has
表示“包含”,然后:bbuxkriu2#
您的查询应该是这样的:
意思是:如果在c区内你发现了单词dog(即“狗在家里”),那么将B区的值设置为等于a区的值
如果要查找字段c的精确匹配,可以使用:
如果字段c只包含单词dog
62lalag43#
你可以加上
WHERE fieldc like '%dog%'
或你可以用
case
```UPDATE someTable
SET fieldb = CASE WHEN fieldc LIKE '%dog%' THEN fielda ELSE fieldb END