2009-06-01 6 views
2

У меня есть база данных SQL Anywhere 9, и я хотел бы сбросить значение автоинкремента на одном из моих столбцов на определенный номер.SQL Anywhere autoincrement reset

Я думаю, мне нужно SQL-Anywhere эквивалент:

ALTER TABLE foo AUTO_INCREMENT =100

ответ

6

Просто так что ответ на самом деле здесь, а не только связанные с:

Используйте процедуру sa_reset_identity системы:

sa_reset_identity (
    [ table_name 
    [, owner 
    [, new_identity_value ] ] ] 
) 
+1

Обязательно установите значение new_identity_value на n-1, если вы хотите, чтобы следующее значение было n, например установите 0 для следующего значения 1. –

1

Поиск Google оказался this. Я никогда не использовал SQL Anywhere, поэтому я боюсь, что больше не могу помочь.

+0

Спасибо, как раз подъехала http://www.ianywhere.com/developer/product_manuals/sqlanywhere/0902/en/html/dbrfen9/00000662 .htm и нашел конкретный синтаксис для системных функций – Brohan

+0

Рад, что вам нужно использовать. –

0

Правильная системы является 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

Смежные вопросы