【发布时间】:2021-03-28 20:51:51
【问题描述】:
我正在尝试根据 entry_id 列中的值填充 PostgreSQL 11.0 中表的列值 (col)。
entry_id col
hsa_0001
hsa_0002
rno_4894
mmu_7890
我正在使用以下查询:
try:
connect_str = "dbname='xx' user='xx' host='xx' " "password='xx' port = xx"
conn = psycopg2.connect(connect_str)
except:
print("Unable to connect to the database")
query = "UPDATE tbl
SET col = (CASE
WHEN entry_id ilike '%hsa' THEN 'homo sapiens'
WHEN entry_id ilike '%rno' THEN 'rattus norvegicus'
ELSE 'mus musculus'
END); "
cursor.execute( query )
#print (query)
conn.commit()
conn.close()
cursor.close()
预期的输出是:
entry_id col
hsa_0001 homo_sapiens
hsa_0002 homo_sapiens
rno_4894 rattus norvegicus
mmu_7890 mus musculus
运行上述查询时出现错误。我怎样才能达到上述预期的输出。
非常感谢任何帮助!
【问题讨论】:
标签: regex postgresql