-1

Python を使用して、lastrowid に基づいてデータを削除するにはどうすればよいですか。私が持っているコードは、すべての行コードを削除します:

import re
import sys
import difflib
import sqlite3

def main():   
   while True:      
      name = input ('Please Type your Question:  ').lower().split()  
      name2 = name[:]
      import sqlite3
      for item in name2:#break                
         conn = sqlite3.connect("foods.db")
         cursor = conn.cursor()           
         cursor.execute("INSERT INTO INPUT33 (NAME) VALUES (?);", (name2,))      
         cursor.execute("select MAX(rowid) from [input33];")
         conn.commit()      
         for rowid in cursor:break         
         for elem in rowid:
            m = elem            
            print(m)
            cursor.execute("DELETE FROM INPUT33 (NAME) WHERE NAME = name")
4

1 に答える 1

1

最後に挿入された行 ID を取得するには、カーソルのlastrowid属性を使用します。

特定の行 ID を持つレコードを削除するには、その列を WHERE 条件で使用します。

cursor.execute("INSERT INTO input33(Name) VALUES(?)", ("whatever",))
rowid = cursor.lastrowid
cursor.execute("DELETE FROM input33 WHERE rowid = ?", (rowid,))
于 2014-03-08T08:49:23.967 に答える