![](/img/trans.png)
[英]insert into 2 table one linked to the second through FOREIGN KEY and take data from another table in sqlite and python
[英]python sqlite how to insert some data from one row into another table with additional data from code
所以我需要從源表中插入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"))
這是我能做的最好的,但我仍然需要從處理程序添加record_time到那個執行,怎么做?
這里的表格看起來如何:
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))
這是我對 python 的 sql 數據庫的第一次體驗
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.