나는 당신이 DELETE FROM table WHERE condition
할 수있는 이해하지만 더 우아한 방법이 있다면 궁금 해서요? c.execute('SELECT * FROM {tn}'.format(tn=table_name1))
으로 모든 행을 반복하므로 커서는 이미 삭제하려는 행에 있습니다.SQLite 테이블의 행을 반복하는 동안 커서의 행을 삭제할 수 있습니까?
0
A
답변
1
커서는 읽기 전용 개체이며 커서 행은 반드시 테이블 행과 관련이 없습니다. 그래서 이것은 불가능합니다.
그리고 테이블을 반복하는 동안 테이블을 변경하면 안됩니다. SQLite는 필요시 결과 행을 계산하므로 현재 행을 삭제하면 다음 행의 계산이 중단 될 수 있습니다.
+0
그러면 행을 삭제 하시겠습니까? – user1917407
+0
'DELETE FROM table WHERE condition' 또는 반복하기 전에 모든 행을 가져옵니다. –
왜 사용해 보지 않으시겠습니까? – Marichyasana