Я использую сервер MySQL 5.0.Мое требование состоит в том, чтобы добавить одну специальную строку в существующую таблицу, которая имеет первичный ключ с автоинкрементом.
Это было бы очень полезно для будущего обслуживания и управления проектом, если бы мы могли сделать идентификатор этогострока 0 (потому что это легко запомнить и легко заметить в ручных наблюдениях).
Теперь я знаю, что у MySQL нет проблем с использованием вашего собственного значения для столбца автоинкремента, и мои тесты показали, что яможно установить первичный ключ автоинкремента строки в 0 с помощью запроса UPDATE.Однако были высказаны некоторые опасения по поводу того, как это может повлиять на функциональность автоинкремента столбца в будущих INSERT.
Мои (ограниченные) эксперименты не показали ничего странного, и я не могу найти ничего конкретного предупреждения против этогов документах MySQL.То есть, кроме этого (выделено мое): http://dev.mysql.com/doc/refman/5.0/en/create-table.html
В таблице может быть только один столбец AUTO_INCREMENT, он должен быть проиндексирован и не может иметь значение DEFAULT.Столбец AUTO_INCREMENT работает правильно, только если он содержит только положительные значения.Вставка отрицательного числа считается вставкой очень большого положительного числа. Это сделано для того, чтобы избежать проблем с точностью, когда числа «переворачиваются» с положительных на отрицательные, а также для того, чтобы случайно не получить столбец AUTO_INCREMENT, содержащий 0.
Iя не могу найти объяснение того, что не так с наличием нулевого значения в столбце AUTO_INCREMENT, поэтому кто-нибудь может мне сказать, является ли плохо иметь столбец AUTO_INCREMENT, который содержит 0?