mysql在插入时会锁定外键关联的数据,这时候如果我想更新这条关联数据的部分字段该如何操作呢?
如同不停接收多个用户发来的消息并保存,此时可能会有修改用户信息的操作。
我有如下两个事务同时执行时出现死锁,不知道该如何解决这个问题。
必须使用添加版本号去实现乐观锁么?还是要去掉这个外键呀?
-- 事务1 添加A表数据,外键关联B表主键为a的数据
INSERT INTO `AAA` (`id`, `b_id`, `count`, `content`) VALUES ('1', 'a', 1, NULL);
-- 事务2 修改B表主键为a数据的部分字段
UPDATE `BBB` SET `name` = 'name_1', `score` = 57 WHERE `BBB`.`b_id` = 'a';