#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, из вставки перед автоматическим увеличением.