0

我有以下问题。我有三个表,TABLE_1、TABLE_2 和 TABLE_3。

TABLE_1 和 TABLE_2 之间是 am:n 关系,因此有一个连接表,我们称之为 TABLE_1_2。

TABLE_2 和 TABLE_3 之间是 am:n 关系,因此有一个连接表,我们称之为 TABLE_2_3。

如果我现在从 TABLE_1 中删除一行,我希望其他表 connecte 中的所有行也将被删除。我该如何处理?我读到 sqlite 不支持删除语句的连接。

4

1 回答 1

0

在 MS SQL 中,这可以通过在该列上添加 ON DELETE CASCADE CONSTRAINT 来更改 table1 和相应的列。但是在 SQLite 中没有 ALTER COLUMN 并且 ALTER TABLE 的功能也比 MS SQL 少得多。这就是为什么你可能不得不

  • 将 table1 重命名为 table3
  • 使用 ON DELETE CASCADE CONSTRAINT 和您已经使用的所有其他约束创建一个新表。
  • 将旧表的内容复制到新表中。
  • 删除旧表

另请参阅类似主题

于 2013-01-17T17:25:14.840 回答