SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 15.11.2011 13:54:45

tuareg
Участник
Зарегистрирован: 26.11.2010
Сообщений: 4

Настройка auto_incrementa

Здравствуйте!!!
Вопрос 1
Подскажите пожалуйста, как настроить MySQL, чтобы при вставке в пустую таблицу INSERT INTO ...
автоинкремент начинался с 1 а не с 0;

Вопрос 2
Если я использую запрос типа INSERT INTO (id,pole) VALUES (0,'тра-та-та');
id- автоинкремент
Мне необходима просто вставка, фактически id=0;
будет ли правильнее если запрос будет таким INSERT INTO (pole) VALUES (`pole`)? Или нет разницы?

P.S
Вот в таком запросе INSERT INTO (id,pole) VALUES (0,'тра-та-та') или правильнее INSERT INTO (id,pole) VALUES (null,'тра-та-та');
И как передать значение null в хранимую процедуру? Вот так можно?
CALL `proc`(null,'тра-та-та');
P.S.S. Я понимаю, что это все можно проверить путем опытов, но просто столкнулся с ситуацией, работает на сервере(сборка Денвер), сейчас пришлось переехать на другой сервер, а там он голый "абсолютно", начались ошибки. Хотелось бы в будущем избежать их, сразу все делать правильно(стремиться к этому)

Отредактированно tuareg (15.11.2011 14:01:07)

Неактивен

 

#2 15.11.2011 15:53:31

evgeny
Гуру
Зарегистрирован: 04.05.2009
Сообщений: 335

Re: Настройка auto_incrementa

Насколько мне известно, полю определённому как AUTO_INCREMENT, нельзя присвоить 0

Хотя нет, есть обходное решение.

SET sql_mode = 'NO_AUTO_VALUE_ON_ZERO';
INSERT INTO (id,pole) VALUES (0,'тра-та-та');

Отредактированно evgeny (15.11.2011 16:00:45)

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson