无法在不同的会话mysql中更新外键

时间:2016-06-09 06:56:56

标签: mysql

我在新会话中更新表格中的字段时遇到问题。我有这两个表:

Pedidos

Usuarios

我想更新pedidos表中的idusuario以引用不同的usuario。 我已经尝试将idusuario fk插入为null,但它既不起作用

如果我在创建表的同一会话中执行更新,则没有问题。见图。

enter image description here

但如果我尝试在另一个会话中执行相同的查询,它会崩溃并显示下一个错误代码:(也在命令行控制台上尝试过)

Error shown on command line console

1 个答案:

答案 0 :(得分:1)

您应该删除foreign key,更新,然后重新添加:

ALTER TABLE pedidos
 DROP FOREIGN KEY FK_name;

UPDATE pedidos set idusuario = 4 where id_pedidos = 2;

ALTER TABLE pedidos 
ADD CONSTRAINT FK_name FOREIGN KEY (IdUsuario) REFERENCES SecondTable(idPedidos);