Можно ли сделать автоинкремент на второй столбец в mysql?

Есть таблица в которую вносятся данные и в ней есть автоинкремент для формирования id.

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

А именно получить что то вроде такого

UPDATE `table` SET `column`= ( SELECT MAX(column) FROM `table`) +1 WHERE ...


Но mysql ругается что нельзя использовать в под запросе целевую таблицу
  • Вопрос задан
  • 143 просмотра
Решения вопроса 1
@VasylNaumenko
DELIMITER //
DROP FUNCTION IF EXISTS get_count//
CREATE FUNCTION get_count()
RETURNS INT
BEGIN
 DECLARE num INT;
  SELECT MAX(`column`) FROM `table` INTO num;
 RETURN num;
END//
DELIMITER ;

UPDATE `table` SET `column` = get_count() +1 WHERE ...
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
SagePtr
@SagePtr
Еда - это святое
Через триггеры можно сделать
Ответ написан
dimonchik2013
@dimonchik2013
non progredi est regredi
нельзя

натощак только один пирожок

иначе все мастерслейв папесде и ваще
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы