[英]python sqlite how to insert some data from one row into another table with additional data from code
so i need insert first_name and last_name from source table where row contains same uid from handler and insert to recordtable and add record_time.所以我需要从源表中插入first_name和last_name,其中行包含来自处理程序的相同uid并插入到recordtable并添加record_time。
cur.execute("""INSERT INTO recordtable (first_name,
last_name,
record_time)
SELECT first_name, last_name
FROM sourcetable
WHERE uid is ?""", ("some string from handler"))
Thats the best i can do but i still need add record_time from handler to that execute, how to do it?这是我能做的最好的,但我仍然需要从处理程序添加record_time到那个执行,怎么做?
here how tables look:这里的表格看起来如何:
CREATE TABLE IF NOT EXISTS sourcetable (
uid TEXT NOT NULL UNIQUE,
first_name TEXT NOT NULL,
last_name TEXT NOT NULL);
CREATE TABLE IF NOT EXISTS recordtable (
id INTEGER PRIMARY KEY,
first_name TEXT NOT NULL,
last_name TEXT NOT NULL,
record_time DATETIME);
Use an INSERT INTO... SELECT
statement:使用
INSERT INTO... SELECT
语句:
INSERT INTO recordtable(first_name, last_name, record_time)
SELECT first_name, last_name, CURRENT_TIMESTAMP
FROM sourcetable
WHERE uid = ?
never mind, i eventually found out that you can set a predefined values in SELECT operator没关系,我最终发现您可以在 SELECT 运算符中设置预定义值
cur.execute("""INSERT INTO recordtable (first_name, last_name, record_time)
SELECT first_name, last_name, ? FROM sourcetable WHERE uid is ?;""",
(datetime.date(datetime.now()), self.__handle_uid))
this is my first experience with sql database for python这是我对 python 的 sql 数据库的第一次体验
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.