У меня есть база данных SQL Anywhere 9, и я хотел бы сбросить значение автоинкремента на одном из моих столбцов на определенный номер.SQL Anywhere autoincrement reset
Я думаю, мне нужно SQL-Anywhere эквивалент:
ALTER TABLE foo AUTO_INCREMENT =100
У меня есть база данных SQL Anywhere 9, и я хотел бы сбросить значение автоинкремента на одном из моих столбцов на определенный номер.SQL Anywhere autoincrement reset
Я думаю, мне нужно SQL-Anywhere эквивалент:
ALTER TABLE foo AUTO_INCREMENT =100
Просто так что ответ на самом деле здесь, а не только связанные с:
Используйте процедуру sa_reset_identity
системы:
sa_reset_identity (
[ table_name
[, owner
[, new_identity_value ] ] ]
)
Поиск Google оказался this. Я никогда не использовал SQL Anywhere, поэтому я боюсь, что больше не могу помочь.
Спасибо, как раз подъехала http://www.ianywhere.com/developer/product_manuals/sqlanywhere/0902/en/html/dbrfen9/00000662 .htm и нашел конкретный синтаксис для системных функций – Brohan
Рад, что вам нужно использовать. –
Правильная системы является sa_reset_identity
CALL sa_reset_identity('table_name', 'user_name', new_start_value -1);
Например, у вас есть таблица под названием ГОРОДА, пользователь DBA и вы хотите, чтобы автоинкремент начинался со значения . Ваш код будет:
CALL sa_reset_identity('cities', 'DBA', 0);
Источник: http://www.sqlines.com/sybase-asa/autoincrement_identity
Обязательно установите значение new_identity_value на n-1, если вы хотите, чтобы следующее значение было n, например установите 0 для следующего значения 1. –