Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Перепрыгнуть уникальное значение.

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
avtor.fox
Отправлено: 28 Мая, 2012 - 15:39:45
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2083
Дата рег-ции: Март 2012  
Откуда: Воронеж


Помог: 50 раз(а)




Добрый день товарищи Улыбка

Переношу таблички тикетов с одной версии на другую.

У каждого тикета собственно уникальный id. Но вот незадача. Кто-то удалил 3 строки в таблице и при переносе (выборка, проверка, обработка) в новую базу данных "ключи" записей изменяются. То бишь есть id (1...4), 5, 6, 7, 8, 9, 10. "Кто-то" удалил строки с id 6, 7 и 8. При переезде в новую базу id создаются вот такие - (1...4), 5, 6 и 7. Из-за этого теряется связь между табличками. Но, решил я это проверкой предшествующей записи id и тупо пишу пустые "потеряные" строки.

Данный процесс "восстановления" связи табличек по id тикетов меня не очень радует. Можно ли как-то средствами mysql перепрыгнуть автоинкрементные записи? То бишь порядок id должен быть примерно такой - (1...4), 5, 9, 10.

Спасибо Улыбка
 
 Top
EuGen Администратор
Отправлено: 28 Мая, 2012 - 15:42:24
Post Id


Профессионал


Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007  
Откуда: Berlin


Помог: 707 раз(а)




avtor.fox
А что мешает сделать дамп с явно указанными значениями для id? (более того, на моей памяти, по-умолчанию ровно так и происходит - независимо от того, есть ли автоинкремент, дамп содержит в себе точные значения всех id)


-----
Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
 
 Top
avtor.fox
Отправлено: 28 Мая, 2012 - 15:55:27
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2083
Дата рег-ции: Март 2012  
Откуда: Воронеж


Помог: 50 раз(а)




EuGen, проблема в разной структуре таблиц. Исходная и новая таблицы значительно отличаются. Именно ищу мускульное решение.

Я то уже решил проблему нулевыми записями, но и из запросов к примеру на просмотр их приходится исключать.
 
 Top
EuGen Администратор
Отправлено: 28 Мая, 2012 - 15:56:48
Post Id


Профессионал


Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007  
Откуда: Berlin


Помог: 707 раз(а)




avtor.fox
Если структуры разные - то сделайте эксопорт в CSV и далее LOAD DATA INFILE в соответствии с новой структурой.


-----
Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
 
 Top
avtor.fox
Отправлено: 28 Мая, 2012 - 16:06:39
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2083
Дата рег-ции: Март 2012  
Откуда: Воронеж


Помог: 50 раз(а)




EuGen, как вариант. Но всегда же есть "но" Улыбка

К примеру в старой таблице есть строка с такими значениями

id -> uid -> cid -> gid -> timestamp -> status

Новая -

id -> uid -> theme -> title -> tkd -> cid -> gid -> timestamp -> status

Обрабатываю полученные данные со старой таблицы и вношу в новую. Вот.
 
 Top
Мелкий Супермодератор
Отправлено: 28 Мая, 2012 - 16:06:49
Post Id



Активный участник


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


Помог: 618 раз(а)




При вставке записи явно указывайте id - вставляется в обход автоинкремента. А автоинкремент пойдёт дальше с максимального значения.


-----
PostgreSQL DBA
 
 Top
avtor.fox
Отправлено: 28 Мая, 2012 - 16:12:56
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2083
Дата рег-ции: Март 2012  
Откуда: Воронеж


Помог: 50 раз(а)




Мелкий спасибо Улыбка
И действительно работает. Век живи, век учись. Закатив глазки

Спойлер (Отобразить)
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Работа с СУБД »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB