我在同一个.db
文件中有两个单独的SQL表。
表1
column1 column2
ggg values
ttt values
yyy values
hhh values
ddd values
jjj values
表2
column1 column2 column3 column4
ggg values s_values words
zzz values s_values words
aaa values s_values words
qqq values s_values words
hyh values s_values words
jjj values s_values words
使用table 1
作为基础,如果table 2
包含来自table 1
的项目,如何删除table 2
中的整行?
我想到了下面的代码,但不太确定为什么它不起作用..
abc = pandas.read_sql_table('table1', con=engine)
abc_coll = abc['column1']
xyz = pandas.read_sql_table('table2', con=engine)
xyz_coll = xyz['column1']
for each_item in abc_coll:
if each_item in xyz_coll:
connection.execute('DELETE FROM table2 WHERE id = each_item')
# How should I write this to delete the entire row
# It seems like the code is not able to recognize that `each_item` is a variable
另一点
如果不是删除table 2
中的行,是否可以使用table 2
中的新行更新table 1
中的行?
更新
我尝试了下面的代码,但仍然无法正常工作。
connection.execute('DELETE FROM table2 WHERE id = :lala', lala=each_item)