0

我有以下get_db()函数用于获取我的 SQLite 数据库:

def get_db():
    top = _app_ctx_stack.top
    if not hasattr(top, 'sqlite_db'):
        top.sqlite_db = sqlite3.connect(app.config['DATABASE'])
    return top.sqlite_db

我相信我不会在这里使用 Python SQLite 游标。如果我执行以下操作:

db = get_db()
db.execute('DELETE FROM table_name WHERE id=3')
db.commit()

如何检查 DELETE 中传递的 ID 是否存在?我尝试在 sqlite3.Cursor 中使用 rowcount,但这不适用于我在这里检索数据库的方式。

我将如何检查?如果传递的 ID 不存在,我需要它返回 404。

谢谢

4

1 回答 1

1

为什么不先查询ID,如果不存在则抛出404。就像是:

cur = g.db.query('select * from table_name where id=3')
if cur.rowcount <= 0:
*    abort(404)
''Run delete command here''
于 2012-11-15T18:03:10.157 回答