python sqlite 如何使用来自代码的附加数据将一些数据从一行插入到另一行 table
python sqlite how to insert some data from one row into another table with additional data from code
所以我需要从源 table 插入 first_name 和 last_name,其中行包含来自处理程序的相同 uid 并插入记录 table 并添加 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"))
那是我能做的最好的,但我仍然需要从处理程序添加 record_time 到该执行,如何做?
这是 table 的样子:
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);
使用 INSERT INTO ... SELECT
语句:
INSERT INTO recordtable(first_name, last_name, record_time)
SELECT first_name, last_name, CURRENT_TIMESTAMP
FROM sourcetable
WHERE uid = ?
没关系,我最终发现您可以在 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))
这是我第一次使用 sql 数据库 python
所以我需要从源 table 插入 first_name 和 last_name,其中行包含来自处理程序的相同 uid 并插入记录 table 并添加 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"))
那是我能做的最好的,但我仍然需要从处理程序添加 record_time 到该执行,如何做?
这是 table 的样子:
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);
使用 INSERT INTO ... SELECT
语句:
INSERT INTO recordtable(first_name, last_name, record_time)
SELECT first_name, last_name, CURRENT_TIMESTAMP
FROM sourcetable
WHERE uid = ?
没关系,我最终发现您可以在 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))
这是我第一次使用 sql 数据库 python