我有2张桌子:A和B.A有一个外键B和B有一个外键A.但我不能让从外键A到B,因为A在之前创建的B.
当SQLite不支持时,我该如何解决Alter Table?
这是我的示例数据库:
Create Table A(
A_ID INTEGER PRIMARY KEY,
B_ID INTEGER,
A_DESCRIPTION TEXT,
FOREIGN KEY (B_ID) REFERENCES B(B_ID)
)
Create Table B(
B_ID INTEGER PRIMARY KEY,
A_ID INTEGER,
B_DESCRIPTION TEXT,
FOREIGN KEY (A_ID) REFERENCES A(A_ID)
)
Run Code Online (Sandbox Code Playgroud)
我相信你的问题实际上是你如何定义你的外键.定义圆形外键对我来说效果很好.请尝试此查询:
pragma foreign_keys=on;
Create Table A(
A_ID INTEGER PRIMARY KEY,
B_ID INTEGER REFERENCES B(B_ID),
A_DESCRIPTION TEXT
);
Create Table B(
B_ID INTEGER PRIMARY KEY,
A_ID INTEGER REFERENCES A(A_ID),
B_DESCRIPTION TEXT
);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
30481 次 |
| 最近记录: |