Мне нужно добавить новый продукт в таблицу. Но для этого мне нужно проверить SKU последнего вставленного продукта и увеличить его на 1 и вставить в него новые детали продукта. SKU - это что-то вроде SKUNXXXXX - X - это цифра. Изменение структуры таблицы невозможно.Вставить строку с одним значением столбца на основе последней записи
Возможные решения, которые я могу думать о
- Получить последнюю строку, используя заказ и ограничения 1.
- заменить «SKUN» с пустой строкой и увеличить число на 1
- Вставка записи с сведения о продукте и приращение значения SKU
Но эта ситуация может создать проблему (хотя я не уверен в этом). Проблема в том, что, если только после получения последней записи и перед вставкой новых сведений о продукте, другой запрос приходит и получает одну и ту же последнюю запись? В этом случае оба продукта имеют один и тот же SKU.
Пожалуйста, дайте мне знать, как решить эту ситуацию.
В этом случае, может быть, вы должны использовать блокировку или транзакции таблицы – M0rtiis
Почему вместо столбца с символом не используется столбец с автоматическим приращением? – Barmar
@Barmar - я знаю, что автоинкрементный столбец - лучший способ, но я не могу его изменить, поскольку предыдущий разработчик использовал его во многих местах, и он сломает вещи. Спасибо за ваше предложение. –