2016-08-12 37 views
1

我在同一.db文件中有2個獨立的SQL表。這是使用SQLite。如果value =?刪除數據庫中的行在SQLAlchemy

表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 

使用表1爲基礎,如果臺2具有從表1中的項目,我怎麼刪除整個行表2?

test1 = pandas.read_sql_table('table 1', con=engine)['column1'] 
test2 = pandas.read_sql_table('table 2', con=engine)['column1'] 

for each_item in test1: 
    if each_item in test2['column1'].unique(): 
     connection.execute('DELETE FROM "table2" WHERE column1=?', column1=each_item) 

我看過最計算器上的帖子,並檢查這方面的文檔,但我仍然得到錯誤,在table2刪除row

+0

0123andpandas似乎對此有點矯枉過正......你不能直接在連接上執行'從table2中刪除where column1(直接從table1中選擇column1)' –

+0

@JonClements它仍然向我顯示一條錯誤消息說'這個連接已經關閉了' –

+5

我會建議在打開的時候使用它嗎?:) –

回答

0

感謝Jon CLements,我意識到我沒有打開引擎的錯誤。因此得到錯誤。 :(