我有一个包含 3 行的简单表:一个短文本、它自己的 ID 和另一个对象的 ID。
我想失去与另一个对象的关联。我想将其 ID 设置为 0(这样的对象不存在)。由于其他原因,我不能使用 NULL。
请帮我在 MySQL Workbench 中设置表或行以允许执行此类操作。
我有一个包含 3 行的简单表:一个短文本、它自己的 ID 和另一个对象的 ID。
我想失去与另一个对象的关联。我想将其 ID 设置为 0(这样的对象不存在)。由于其他原因,我不能使用 NULL。
请帮我在 MySQL Workbench 中设置表或行以允许执行此类操作。
您不能“强制”违反外键的值。这就是外键的全部意义所在。
你必须要么
NULL
的值并将值设置为NULL
(这就是它的用途,这是正确的方法),不要使用诸如零之类的虚拟值来指示不存在的值。处理可选关联只有两种正确的方法。第一种是使用空值来指示给定实例中没有关联。第二个是修改你的模式以符合第六范式。
在第六范式中,将有一个额外的表,其中仅包含您的两个 id。在没有关联的情况下,不会有行。就这么简单。
更彻底地研究 Erlang。要么 Erlang 能够处理 NULLS,要么 Erlang 不能处理 SQL。不管你喜不喜欢,NULLS 是 SQL 的一部分。