给定一个名为“widget_ids”的数据库字段,其中包含“67/797/124/”或“45/”之类的数据,其中数字以斜杠分隔的widget_ids...
“如果 ID 为 X 的行的 widget_ids 包含文本“somenumber/”,则什么也不做,否则将“somenumber/”附加到其当前值”

你能用 SQL 或者更具体地说,用 sqlite 做类似的事情吗?出于某种原因,这是在程序中更好地完成的事情,还是在 SQL 中支持“if-then”之类的语法?

最佳答案

更新有点像 if-thens 本身,并且在大多数 SQL 实现中也有某种类型的 if-then 支持。一个简单的解决方案可能是:

update <tablename>
  set widget_id = widget_id + "somenumber/"
  where row_id = X
    and widget_id not like "%/somenumber/%"
    and widget_id not like "somenumber/%";

关于Sqlite 更新字段,如果它包含,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/151800/

10-10 14:26