Вы не можете ничего с этим поделать в Drupal 6. UID 0 и 1 имеют особое значение в Drupal и должны существовать таким образом, хотя MySQL это не нравится (по уважительным причинам).Из-за этих веских причин это было исправлено / изменено в Drupal 7. Некоторый фон ...
В Drupal 5 и более ранних версиях уровень базы данных не использовал AUTO INCREMENET из-за совместимости с другими базами данных.Все такие идентификаторы основаны на db_next_id()
, который нужно было вызывать вручную перед вставкой новой строки.
В Drupal 6 был добавлен API-интерфейс Schema (Позволяет определять схему в массивах PHP, после чего Drupal будет создаватьспецифичные для базы данных запросы на создание таблицы и т. д.).db_next_id()
был удален, и для нескольких таблиц (в основном пользователей и действий) были добавлены некоторые хакерские обходные пути.Это, однако, приводит к проблемам (например, невозможность легко экспортировать и импортировать таблицу, как MySQL сообщает в описании предупреждения).
В Drupal 7, db_next_id()
был добавлен снова, явно для таблиц, где AUTO_INCREMENT(в Drupal Schema API называется 'serial') работает не очень хорошо.проект User Relationships , который я поддерживаю для Drupal 7, тоже делал что-то странное с таблицей auto_increment (повторное использование идентификаторов для соединения однонаправленных связей), которую я недавно заменил на db_next_id ().Так что, если вы поддерживаете пользовательский модуль или модуль Contributed, который взламывает AUTO INCREMENT, используйте взамен db_next_id () в Drupal 7!