Я использую Spring-Boot, mysql и JDB C в моем приложении.
У меня есть таблица, как показано ниже
CREATE TABLE `post` (
`id` bigint(11) unsigned NOT NULL AUTO_INCREMENT,
`ref` varchar(255) DEFAULT '',
`userId` bigint(20) NOT NULL,
`text` varchar(255),
`count` bigint(20) NOT NULL,
`version` bigint(11) DEFAULT NULL
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=15 DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
В этой таблице я иметь столбец count
, который зависит от комбинации уникальных столбцов ref
, userId
и text
, например. если комбинация этих столбцов отсутствует в БД, то счет будет равен 1, но если комбинация уже существует в БД, значение счетчика будет 0.
Я столкнулся с проблемой, когда два или более пользователи пытаются публиковать сообщения с одинаковыми ref
, userId
и text
одновременно. Из этих запросов только один должен считаться равным нулю, а остальные равны нулю.
Как мне справиться с этим случаем, когда несколько пользователей пытаются опубликовать сообщения с одинаковыми значениями?