我有下表结构。
CREATE TABLE `comments` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`articleid` int(11) NOT NULL DEFAULT '0',
`sequence` int(11) NOT NULL DEFAULT '0',
PRIMARY KEY (`id`),
UNIQUE KEY `comments4` (`articleid`) USING BTREE,
UNIQUE KEY `comments5` (`articleid`, `sequence`) USING BTREE,
KEY `comments3` (`articleid`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci当我插入数据时,sequence应该根据最大值自动递增。所有操作都很好,直到两次并行请求命中导致MySQL错误。
SQLSTATE23000:完整性约束违反: 1062重复条目'2137092-3‘的关键字'comments5’
我试图用Subquery来解决这个问题,但结果却导致了大量的性能问题。
不然我怎么解决这个问题?
发布于 2016-04-21 11:23:50
把选择的最大值().以及事务中的插入。Max(9在INNODB中始终是一个问题)
https://stackoverflow.com/questions/36767988
复制相似问题