我研究了如何使用 SQLite 删除列。由于缺少 DROP COLUMN 语句,我正在考虑使用以下解决方法:
这涉及将所有数据移动到临时表中,删除原始数据,然后重新创建它。
如果我对要修改的表有级联删除依赖项,如何防止任何依赖表丢失数据?
前任。
CREATE TABLE A (
id INTEGER PRIMARY KEY,
name TEXT,
dummy INTEGER
)
CREATE TABLE B (
id INTEGER PRIMARY KEY,
name TEXT,
a_id INTEGER,
FOREIGN KEY (a_id) REFERENCES A(id) ON DELETE CASCADE
)
假设我想从表 A 中删除列“虚拟”,但我不想影响表 B 中的任何行。可以这样做吗?