Mysql“ON UPDATE”约束删除我的行

时间:2013-06-12 09:30:41

标签: mysql delete-row onupdate

我的数据库(InnoDB)有问题。我有两张桌子:

    table1{
    id1 INT..
    ..
    PRIMARY KEY (id1)
    }

    table2{
    fk INT..
    ...
    FOREIGN KEY (FK) REFERENCES table1(id1)
        ON DELETE CASCADE
        ON UPDATE CASCADE
    }

现在......当我将记录更改为table1时,table2中的记录将被删除!我不想要这种行为。我怎么能改变这个?

我读到“InnoDB允许外键约束引用非唯一键”。我的钥匙很独特。我怎么能改变这个?

谢谢!

1 个答案:

答案 0 :(得分:0)

这是预期的行为,因为table2中的外键是使用ON DELETE CASCADE属性定义的。 table1中的删除被“级联到”table2

您可能希望change this definitionON DELETE SET NULL