1

我的数据库(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 允许外键约束引用非唯一键”。我的钥匙是独一无二的。我怎样才能改变这个?

谢谢!

4

1 回答 1

0

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

您可能希望使用更改此定义ON DELETE SET NULL

于 2013-06-12T09:33:49.790 回答