Sqlite
SQLite,用另一行數據更新一行
我有一張下表
CREATE TABLE LoadRecords(RoomNum INTEGER DEFAULT 0, UserNum INTEGER DEFAULT 0, PresetNum INTEGER DEFAULT 0, PresetName TEXT DEFAUTL 'Preset', Load1 INTEGER DEFAULT 0, Load2 INTEGER DEFAULT 0, Load3 INTEGER DEFAULT 0, Load4 INTEGER DEFAULT 0, Load5 INTEGER DEFAULT 0, Load6 INTEGER DEFAULT 0, Load7 INTEGER DEFAULT 0, Load8 INTEGER DEFAULT 0, Load9 INTEGER DEFAULT 0, Load10 INTEGER DEFAULT 0, Load11 INTEGER DEFAULT 0, Load12 INTEGER DEFAULT 0, Load13 INTEGER DEFAULT 0, Load14 INTEGER DEFAULT 0, Load15 INTEGER DEFAULT 0, Load16 INTEGER DEFAULT 0, Load17 INTEGER DEFAULT 0, Load18 INTEGER DEFAULT 0, Load19 INTEGER DEFAULT 0, Load20 INTEGER DEFAULT 0, Circuit1 TEXT DEFAUTL '-', Circuit2 TEXT DEFAUTL '-', Circuit3 TEXT DEFAUTL '-', Circuit4 TEXT DEFAUTL '-', Circuit5 TEXT DEFAUTL '-', Circuit6 TEXT DEFAUTL '-', Circuit7 TEXT DEFAUTL '-', Circuit8 TEXT DEFAUTL '-', Circuit9 TEXT DEFAUTL '-', Circuit10 TEXT DEFAUTL '-', Circuit11 TEXT DEFAUTL '-', Circuit12 TEXT DEFAUTL '-', Circuit13 TEXT DEFAUTL '-', Circuit14 TEXT DEFAUTL '-', Circuit15 TEXT DEFAUTL '-', Circuit16 TEXT DEFAUTL '-', Circuit17 TEXT DEFAUTL '-', Circuit18 TEXT DEFAUTL '-', Circuit19 TEXT DEFAUTL '-', Circuit20 TEXT DEFAUTL '-')
我想將所有 Load1、Load2、Load3…Load20 從一行更新到同一個 RoomNum 內的其他幾行,但同一個表內的不同 UserNum。
是否有可以針對特定 PresetNum 執行此操作的查詢?
編輯。這是我用過的。我希望 SQLite 支持循環,因為我真的需要能夠多次更改 RoomNum ……
對於 MySQL(問題是 MySQL 標記的)
UPDATE table t1, table t2 SET t1.field1=t2.field1, t1.field2 = t2.field2, ... WHERE /* copy one record */ /* t1.id = 123 AND t2.id = 456 */ /* copy a bunch of consecutive records */ /* t1.id BETWEEN 111 AND 123 AND t2.id - t1.id = 321 */
對於 SQLite(問題也帶有 SQLite 標記)
UPDATE table SET field1 = ( SELECT field1 FROM table t WHERE t.id = 123 ) /* or WHERE t.id - table.id = 123 */ WHERE id = 456 /* or WHERE id BETWEEN 444 AND 456 */