[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Autoincrement
maximka787
Парни, привет. Подскажите, в чем может быть проблема.

Очищаю таблицу методом
SET FOREIGN_KEY_CHECKS = 0; 
TRUNCATE TABLE `users`;
SET FOREIGN_KEY_CHECKS = 1;

В поле AUTOINCREMENT значение 1. Все пока нормально.

Далее делаю перенос данных из старой таблицы в новую.
INSERT INTO `user` (`email`, `password`, `date_reg`) 
SELECT `login`, `password`, `date_reg` FROM `firma`


После этого поле AI равно 512. Хотя вставляется 300 строк (ID последний 300). Произошло это после того, как я вручную в phpma указал цифру 1.

_____________
..Работает - не трогай!
maximka787
Мужики, никто не знает в чем может быть проблема? Или не обращать внимание?
Вдруг потом это аукнется где-то..

_____________
..Работает - не трогай!
twin
Цитата (maximka787 @ 6.06.2016 - 13:22)
Произошло это после того, как я вручную в phpma указал цифру 1.

А зачем ты это сделал? После TRUNCATE он сам станет 1.

И зачем тут это:
SET FOREIGN_KEY_CHECKS = 0;

У тебя внешние ключи есть?

_____________
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.

user posted image
maximka787
twin
Да, у меня есть внешние ключи, которые на хостинге не дают сделать TRUNCATE, хотя все зависимые таблицы пустые.

Вообще на локальном компе, все работает хорошо. Когда импортирую БД то она там даже очищается, хоть и зависимые таблицы не пустые. То есть происходит нормальное удаление всех записей. А на хостинге такая фигня.
поэтому и блокирую проверку ключей внешних.

_____________
..Работает - не трогай!
twin
Вообще навскидку не могу сказать. Дай дампик, посмотрим.

_____________
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.

user posted image
maximka787
CREATE TABLE `users` (
`id` int(10) unsigned NOT NULL auto_increment,
`email` varchar(40) NOT NULL,
`passwd` char(40) NOT NULL,
`firma` int(10) unsigned default NULL,
`date_reg` datetime NOT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `email` (`email`),
KEY `firma` (`firma`)
)
ENGINE=InnoDB DEFAULT CHARSET=utf8;

CREATE TABLE `firma` (
`id` int(10) unsigned NOT NULL auto_increment,
`login` varchar(40) NOT NULL,
`passwd` char(40) NOT NULL,
`date_reg` date NOT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `login` (`login`)
)
ENGINE=InnoDB DEFAULT CHARSET=utf8;

ALTER TABLE `users` ADD CONSTRAINT `users_ibfk_1` FOREIGN KEY (`firma`) REFERENCES `firma` (`id`);


/* запрос */
INSERT INTO `users` (`email`, `passwd`, `firma`, `date_reg`)
SELECT `login`, `passwd2`, `id`, `date_reg` FROM `firma`


Если там сложно и сразу так не видно в чем причина, то я дуаю оставлю всё как есть, проблема не фатальная, просто непонятно поведение AI

_____________
..Работает - не трогай!
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.