使用数据库包执行函数获取整行
Get whole row using database package execute function
我在我的 fastapi 应用程序中使用 databases 包。 数据库有执行和获取函数,当我尝试使用执行插入或更新后return列值时,它return只有第一个值,如何获得不使用 fetch 的所有值..
这是我的查询
INSERT INTO table (col1, col2, col3, col4)
VALUES ( val1, val2, val3, val4 ) RETURNING col1, col2;
您可以使用参数为 offset = 0 和 limit = None 的查询方法来获取所有列
db.query({YOUR TABLE OBJECT}).offset(0).limit(None).all()
你可以参考这个link了解更多:
https://fastapi.tiangolo.com/tutorial/sql-databases/
如果你正在使用 mypy 那么你必须告诉解释器限制值可以是 None
from typing import Optional
limit: Optional[int] = None
INSERT INTO table (col1, col2, col3, col4) VALUES ( val1, val2, val3, val4 ) RETURNING (col1, col2);
您可以使用此查询获取所有列
我也遇到了这个问题,这是我的查询:
INSERT INTO notes (text, completed) VALUES (:text, :completed) RETURNING notes.id, notes.text, notes.completed
使用 database.execute(...)
只会 return 第一列。
但是..使用database.fetch_one(...)
插入数据并return所有列。
希望这对您有所帮助
我在我的 fastapi 应用程序中使用 databases 包。 数据库有执行和获取函数,当我尝试使用执行插入或更新后return列值时,它return只有第一个值,如何获得不使用 fetch 的所有值..
这是我的查询
INSERT INTO table (col1, col2, col3, col4) VALUES ( val1, val2, val3, val4 ) RETURNING col1, col2;
您可以使用参数为 offset = 0 和 limit = None 的查询方法来获取所有列
db.query({YOUR TABLE OBJECT}).offset(0).limit(None).all()
你可以参考这个link了解更多: https://fastapi.tiangolo.com/tutorial/sql-databases/
如果你正在使用 mypy 那么你必须告诉解释器限制值可以是 None
from typing import Optional
limit: Optional[int] = None
INSERT INTO table (col1, col2, col3, col4) VALUES ( val1, val2, val3, val4 ) RETURNING (col1, col2);
您可以使用此查询获取所有列
我也遇到了这个问题,这是我的查询:
INSERT INTO notes (text, completed) VALUES (:text, :completed) RETURNING notes.id, notes.text, notes.completed
使用 database.execute(...)
只会 return 第一列。
但是..使用database.fetch_one(...)
插入数据并return所有列。
希望这对您有所帮助