powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Индексация значений в столбце по порядку
6 сообщений из 6, страница 1 из 1
Индексация значений в столбце по порядку
    #39610804
Egor15
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Таблица `s_variants`
Столбец sku

Добрый день! мне в столбце нужно сделать изменения.
вначале думаю очистить,
Код: sql
1.
UPDATE s_variants SET sku = '';


Далее, нужно чтобы значение во всех ячейках писалось больше на единицу.
То есть нужна индексация значений по порядку:
1 ячейка, значение: 1
2 ячейка, значение: 2
3 ячейка, значение: 3
....................
2976 ячейка, значение: 2976
...
Рейтинг: 0 / 0
Индексация значений в столбце по порядку
    #39610873
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
См FAQ по использованию переменых.
...
Рейтинг: 0 / 0
Индексация значений в столбце по порядку
    #39611056
Egor15
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Так верно?

Код: sql
1.
2.
SET @n = 0;
UPDATE `s_variants` SET `sku` = (@n:= @n + 1);
...
Рейтинг: 0 / 0
Индексация значений в столбце по порядку
    #39611100
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Верно... но требует, чтобы коннектор поддерживал мультизапросы. Лучше убрать инициализацию в источник данных:

Код: sql
1.
2.
3.
UPDATE `s_variants`
     , (SELECT @n := 0) init
SET `s_variants`.`sku` = (@n := @n + 1);
...
Рейтинг: 0 / 0
Индексация значений в столбце по порядку
    #39611137
Egor15
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо!!!
Мне нужно чтобы следующий номер при создании товара сразу увеличивался на 1.
Нужно у столбца сделать, я так понимаю, AUTO_INCREMENT и что писать в файл php, там где значение будет больше на 1?

Сейчас эта ячейка выглядит так в виде html
Код: html
1.
2.
3.
<li class="variant_sku">       
<input name="variants[sku][1001]" type="text" value="902" />
</li>
...
Рейтинг: 0 / 0
Индексация значений в столбце по порядку
    #39611142
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Egor15Мне нужно чтобы следующий номер при создании товара сразу увеличивался на 1.
Нужно у столбца сделать, я так понимаю, AUTO_INCREMENTНЕТ!!!
Автоинкремент существует исключительно для генерации синтетических ключей. Он не гарантирует непрерывности последовательности, только монотонное возрастание.
Гарантировать непрерывное возрастание можно только "ручным" присвоением. Либо блокированием таблицы на время получения максимума, формирования и записи следующего значения, либо наложением уникального индекса и контролем ошибки дублирования с повторением в случае таковой.
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Индексация значений в столбце по порядку
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]