我在数据库data
中有一个表data.sqlite
:
'my_path/data.sqlite'
A B
0 0
1 1
0 1
1 0
我想在此表中添加一个新列,其中如果A = B,则每个值= 1,否则为0。
我可以通过以下方式创建一个新列:
conn = sqlite3.connect('my_path/data.sqlite')
cur = conn.cursor()
cur.execute("ALTER TABLE data ADD COLUMN Agreement")
conn.commit()
A B Agreement
0 0
1 1
0 1
1 0
然后我尝试一个条件语句:其中A和B相等,使用UPDATE SET CASE
函数a la Conditional update in SQLite:
cur.execute("UPDATE data"
"SET Agreement = CASE WHEN A == B THEN 1 ELSE 0 END")
cur.commit()
但我一直在接受:
OperationalError: near "Agreement": syntax error
我做错了什么?