我想從表 A --> 表 B 中插入選擇記錄(在本例中,不同的“資料庫”== 不同的表不用擔心ATTACH),其中Table A的列少于Table B. 還應填充附加B_Table列 ( )。col3
我已經在 raw-SQL 中嘗試過這個序列(通過 SQLAlch。):
1.)使用 engine.connect().execute( INSERTtext )進入表 BA_Table
text("INSERT INTO B_Table (col1, col2) SELECT col1, col2 FROM A_Table")
2.)使用UPDATEengine.connect B_Table( col3)ion 獲取資訊(所有新插入的記錄都使用相同的識別符號填充/更新,NewInfo)
text("UPDATE B_Table SET col3 = NewInfo WHERE B_Table.ID >= %s" % (starting_ID#_of_INSERT'd_records))
更有效的選擇?
但這是非常低效的。UPDATE單列比INSERT. 這似乎應該只是時間的一小部分INSERT。我想將總時間減少到~只是插入時間。
將資料從一個表復制到另一個表的更好方法INSERT是UPDATE什么?我正在考慮一個:
1.) SQLAlchemy session.query(A_Table),但不知道如何編輯該物件(for col3),然后插入更新的物件而不將所有A_Table查詢的資訊加載到 RAM 中(我理解 raw-SQLINSERT不這樣做)。
uj5u.com熱心網友回復:
您可以在陳述句'NewInfo'中用作字串文字:SELECT
INSERT INTO B_Table (col1, col2, col3)
SELECT col1, col2, 'NewInfo'
FROM A_Table;
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/415036.html
標籤:
