Изменение первичного ключа для автоматического увеличения из заданного значения

#mysql #sql #sql-insert #create-table #alter-table

#mysql #sql #sql-вставка #создать таблицу #alter-table

Вопрос:

У меня есть следующий оператор MYSQL:

 ALTER TABLE students MODIFY studentID INTEGER NOT NULL AUTO_INCREMENT = 20;
  

StudentID уже существует и является первичным ключом. Я хочу отредактировать его для автоматического увеличения с 20. Тем не менее, я получаю красную строку со знаком равенства в MySQL Workbench и сообщение

 = is not valid in this position, expecting EOF.
  

Что я делаю не так?

Ответ №1:

Я думаю, вы хотите:

 ALTER TABLE students AUTO_INCREMENT = 20;
  

Комментарии:

1. К сожалению, не сработало. Все еще позволяло мне добавлять ученика с идентификатором 0

2. @JeremyRenner2: посмотрите эту демонстрацию . Вы можете видеть, что значение не установлено 0 , даже если вы передаете его.

3. Единственное, что я могу думать, это то, что это связано с тем фактом, что вы установили автоматическое увеличение в своей первой строке, тогда как для моего поля еще не установлено значение автоматического увеличения. Возможно, мне нужно сначала установить значение автоматического увеличения, а затем установить начальную точку. Но я не могу установить автоматическое увеличение без начальной точки, поскольку в нем говорится: «У вас уже есть 1»

4. Да, как я и думал. Удалите свой автоинкремент в первой строке, и он больше не будет выдавать вам идентификатор 20

5. Хорошо, мне пришлось удалить строку, в которой был идентификатор 0, из вставки перед автоматическим увеличением.