sqlite 如何在不更换的情况下更新?

mqkwyuun  于 2023-06-23  发布在  SQLite
关注(0)|答案(1)|浏览(191)

mapping
| 类别|代码|
| - -----|- -----|
| 面包|1234、4453|
| 茶|二六一二、二三四二|
| 石油|9394、4251、8634、1235、6412|
尝试更新相关类别代码的SQL命令:

conn = sqlite3.connect('category_mapping.db')
c = conn.cursor()

query = f"UPDATE mapping SET codes = 9999 WHERE category = 'Bread'"
c.execute(query)

conn.commit()
conn.close()

但它删除了所有现有的代码,并将9999添加到该类别中。我也试过:

conn = sqlite3.connect('category_mapping.db')
c = conn.cursor()

query = f"INSERT INTO mapping (category, codes) VALUES ('Bread', 9999)"
c.execute(query)

conn.commit()
conn.close()

这增加了一个新的类别(我得到了两个“面包”类别)。更新所选类别代码而不删除现有代码或添加新类别的SQL命令是什么?

bejyjqdl

bejyjqdl1#

我找到了答案:

code = "9999"
selected_category = "Bread"

query = f"UPDATE mapping SET codes = codes || ',{new_code}' WHERE category = '{selected_category}'"

相关问题