我想寻求帮助:)
两个用户同时向原则生成的多对多表发出两个 INSERT 语句:
INSERT INTO my_table (col1, col2) VALUES (2271885, 16678); <-- user 1
INSERT INTO my_table (col1, col2) VALUES (2271883, 2550); <-- user 2
Run Code Online (Sandbox Code Playgroud)
发生死锁(是一个写密集型表),分析发现两个事务都试图写入表中的同一空间:
*** (1) HOLDS THE LOCK(S):
RECORD LOCKS space id 178586 page no 9618 n bits 176 index PRIMARY of table `my_company`.`my_table`...
*** (2) HOLDS THE LOCK(S):
RECORD LOCKS space id 178586 page no 9618 n bits 176 index PRIMARY of table `my_company`.`my_table`...
Run Code Online (Sandbox Code Playgroud)
我想我很难理解为什么会出现僵局。这是一个经典的多对多表,没什么花哨的。
是的,它是写密集型的,但话又说回来,MySQL 文档清楚地说明了有关插入意向锁的情况:
假设存在值为 4 和 7 的索引记录。分别尝试插入值 5 …
我熟悉Symfony Form类API。
我没有得到的一件事是这种方法:
/**
* Returns the extra data.
*
* @return array The submitted data which do not belong to a child
*/
public function getExtraData()
{
return $this->extraData;
}
Run Code Online (Sandbox Code Playgroud)
我无法使用此方法返回任何值。当我尝试发布未映射/无法识别的输入时,它总是返回一个空数组。
请帮助我了解此方法的实际用例。数据何时变为“额外”?
一个代码示例将是理想的。
非常感谢你。