0

我有两张桌子:users和'账单'。在bills作为外键users

bills当我从表中删除时,我想自动从表中删除行users。为此,我使用以下查询更改表,但它仍然不会从 bills 表中删除条目。

我的变更声明是:

ALTER TABLE bills
ADD CONSTRAINT fk_pid
FOREIGN KEY (pid)
REFERENCES users(id)
ON DELETE CASCADE

pid是 bills 表中的外键,而用户表中的 id 主键

请帮我解决上述问题,在此先感谢您。

4

2 回答 2

1

用create代替alter,否则你的语法没问题

Create TABLE bills(
Your columns details
------
------
ADD CONSTRAINT fk_pid
FOREIGN KEY (pid)
REFERENCES users(id)
ON DELETE CASCADE
)

试试这个..

如果它不起作用,那么也试试这个东西。如果您的两个表都有不匹配的主键和外键问题,那么您无法添加删除级联。为此,您需要修复该键问题。就像您的用户表中没有主键值并且您在中使用相同的 id你的账单表作为外键,那么你不能在账单表中添加级联。为此从账单表中删除该键,然后尝试使用 Alter 添加级联脚本。我有同样的问题,但我使用这种方式并且它有效。希望它会也为你工作。谢谢

于 2013-03-15T08:22:48.957 回答
0

我认为这个create解决方案 可以帮助您弄清楚您实际上缺少什么。

通过它并尝试根据您的需要对其进行自定义,因为您没有提供足够的详细信息以及您的问题。

我怀疑它与您的 create table 语句有关

或者试试这个ALTER1ALTER2

于 2013-03-15T08:24:15.507 回答