Задать вопрос

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

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

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

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

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


Но mysql ругается что нельзя использовать в под запросе целевую таблицу
  • Вопрос задан
  • 162 просмотра
Подписаться 1 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Skillbox
    Java-разработчик
    8 месяцев
    Далее
  • Shultais Education
    Основы SQL
    3 месяца
    Далее
  • OTUS
    PHP Developer. Professional
    5 месяцев
    Далее
Решения вопроса 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
нельзя

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

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

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

Похожие вопросы