簡體   English   中英

python sqlite 如何使用代碼中的附加數據將一行中的一些數據插入到另一張表中

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM