Ручной порядковый номер в MYSQL

Я пытаюсь создать ручной порядковый номер для наших таблиц. Мы не можем использовать автоинкрементное число, потому что мы используем составной ключ в двух столбцах, и наше приложение будет работать в облаке, а также независимо в клиентских помещениях без подключения к облаку. И наши данные должны синхронизироваться с нашей облачной центральной базой данных. Как вы знаете, в случае автоинкремента мы не смогли синхронизировать наши данные в облаке (поскольку наше приложение может работать без облака, и в этом случае дублированные данные должны быть найдены в облаке). Пожалуйста, поделитесь любой процедурой, с помощью которой мы можем сгенерировать авто номера. Мы планируем написать функцию, которая будет генерировать уникальный номер для наших таблиц. Пожалуйста, ведите нас.

Также сообщите нам, если число пользователей получает уникальный номер из одной и той же таблицы, то как это будет управлять блокировкой на уровне строк таблицы.

-1

Решение

Похоже, вы эффективно разместили (более крупный) вопрос о синхронизации в форме запроса автоинкремента … потому что любой ответ неизменно будет содержать встречные вопросы, связанные с такими вещами, как отключенные операции, синхронизация и т. Д. …

Вы, возможно, захотите беспокоиться о том, что последовательность фактически становится «данными», а не метаданными, как предполагается, что последовательность. По определению данные становятся неизменяемыми без понимания приложения, и поэтому вы можете захотеть вернуться к вопросу о том, имеет ли этот способ «синхронизации» данных от отключенных клиентов более подходящие альтернативы.

В любом случае, если создание собственной последовательности неизбежно, вам, вероятно, следует использовать статически сгенерированный список значений, сгенерированный центральным бэкэндом, который клиенты загружают на регулярной основе (вероятно, во время синхронизации данных предыдущего дня обратно на сервер). Если не по очень высокой скорости транзакций, это, по моему опыту, имеет меньше проблем при попытке отладить проблемы синхронизации.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]