考虑 MariaDB Galera 集群中的以下表结构:
CREATE TABLE test (
`name` varchar(100) NOT NULL,
`master` tinyint(1) DEFAULT NULL,
PRIMARY KEY (`name`),
UNIQUE KEY `master` (`master`)
) ENGINE=InnoDB;
如果这是在具有多个节点的集群上运行,那么我将并行执行:
INSERT INTO test (name, master) VALUES('node1', 1);
在另一个节点上
INSERT INTO test (name, master) VALUES('node2', 1);
我可以相信一个查询不会替代另一个吗?
如果两个查询完全同时运行,其中一个是否仍会返回错误?
如果查询没有返回错误,我可以相信没有其他 INSERT 可以用另一个名称替换该行吗?