Я работаю с Python, SQLAlchemy (я не использую ORM) и Postgres.У меня есть таблица в Postgres, которая включает в себя два поля text [] (to & from) и некоторые другие (неактуальные).Если столбец «from» содержит подстроку «priority», то столбец «to» может содержать подстроку «head».Если это так, я хотел бы изменить его на «хвост».В качестве альтернативы я также был бы доволен решением изменить весь столбец 'to' text [].
table: с text [] на text []
Что я сделал до сих пор:
eng = engine.execute("select to from table, unnest(from) f where f like (%s);", ('%priority%'))
for row in eng:
if row[0][0].find('head'):
row[0][0].replace('head', 'tail')
Теперь я не знаю, как сделать ОБНОВЛЕНИЕ
Я попытался:
#this only updates it, but if the next time I do the first query it's still the same(I know it's because it's only a select statement. I just included it if it might be helpful somehow)
engine.execute('SELECT regexp_replace(to::varchar, %s, %s) from table, 'head', 'tail');
Затем я попытался:
engine.execute("update table set to = (%s) WHERE to = (%s)", 'head', 'tail')
Вероятно, было бы лучше, если бы в операторе UPDATE также содержалось условие, что 'from' должен включать в себя слово 'priority'.
Любая помощь будет принята с благодарностью.