客户端表上的级联删除查询

时间:2012-06-18 12:25:50

标签: sql sqlite

我正在尝试在我的数据库上配置CLIENTS表,以便在从EMP表中删除员工时,任何关联的客户端都会自动从CLIENTS表中删除。

这是我到目前为止所尝试过的。

ALTER TABLE clients
MODIFY empno REFERENCES emp(empno) ON DELETE CASCADE

不幸的是,每次尝试运行它时,都会返回接近“MODIFY”:语法错误。知道出了什么问题吗?

提前致谢。

1 个答案:

答案 0 :(得分:3)

使用此:

ALTER TABLE Clients
  ADD CONSTRAINT `Client_1`
    FOREIGN KEY empno REFERENCES emp(empno) ON DELETE CASCADE;

UPD:

根据这个post,你无法在SQLite中做到这一点。因此,我的建议如下:

  • 创建临时表。
  • 复制所有信息。
  • 删除原始表并使用外键创建它。
  • 从临时表中复制所有信息并删除临时表。

当然,如果Clients表现在为空,您只需删除它并重新创建。