База данных теряет внешний ключ, Auto Inc, индексы при импорте на cpanel phpmyadmin - PullRequest
0 голосов
/ 28 июня 2018

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

Я подумал, что это может быть ошибка при экспорте из localhost phpmyadmin, но тогда я. создал тестовую базу данных на моем компьютере под управлением xampp ,, и я импортировал ту же самую базу данных (ту, что плохо работает на phpmyadmin в Интернете) в тестовую базу данных ..

Вуаля .. Это нормально в тестовой базе данных .. Все отношения и индексы не повреждены .. Так что я действительно в замешательстве, так как мне действительно нужны отношения для работы. Я каскадно удаляю для FK, и многое зависит от отношения Заранее спасибо


Отредактировано: Смотрите часть файла SQL для одной таблицы, и у меня есть около 40 таблиц ..

- Структура таблицы для таблицы chat

CREATE TABLE IF NOT EXISTS `chat` (

id int (11) NOT NULL, user_id_one int (11) NOT NULL, user_id_two int (11) NOT NULL, date varchar (25) NOT NULL ) ENGINE = InnoDB CHARSET ПО УМОЛЧАНИЮ = latin1 AUTO_INCREMENT = 3;

--
-- Dumping data for table `chat`
--

INSERT INTO `chat` (`id`, `user_id_one`, `user_id_two`, `date`) VALUES
(2, 3, 2, '25-06-18 11:57:12');

- индексы для таблицы chat

   ALTER TABLE `chat`
   ADD PRIMARY KEY (`id`), ADD KEY `user_id_one` (`user_id_one`), ADD KEY 
  `user_id_two` (`user_id_two`);

- AUTO_INCREMENT для таблицы chat

ALTER TABLE `chat`
MODIFY `id` int(11) NOT NULL AUTO_INCREMENT,AUTO_INCREMENT=3;

- Ограничения для таблицы chat

 ALTER TABLE `chat`
ADD CONSTRAINT `ch_uid` FOREIGN KEY (`user_id_one`) REFERENCES `account` 
(`user_id`) ON DELETE NO ACTION ON UPDATE CASCADE,
ADD CONSTRAINT `ch_uid2` FOREIGN KEY (`user_id_two`) REFERENCES `account` 
(`user_id`) ON DELETE NO ACTION ON UPDATE CASCADE;

1 Ответ

0 голосов
/ 01 июля 2018

Я понял это .. Проблема была с моими хостинг-провайдерами. Производственный phpmyadmin, который они не поддерживали ни в одной предыдущей версии дампа mysql ... и моя версия phpmyadmin, которую я использовал на моем компьютере, не совпадает с их версией на cpanel ... Поэтому мне пришлось скачать последнюю версию xampp, экспортировать все мои базы данных, удалить предыдущую версию ..
установить последнюю версию,
создать мою базу данных еще раз ,,
импортировать мой файл дампа sql,
все мои индексы были целы .. Затем снова экспортируйте БД ,,
Я импортировал новую базу данных в свой cpanel phpmyadmin и poof ... Все хорошо.

Похоже, что старая версия скомпилировала файл дампа не так, как они компилируют в последней версии. И только автономная версия phpmyadmin может перекомпилировать файл дампа более старой версии phpmyadmin

Не совсем гений, но это спасло меня, и никакое другое решение из других вопросов, блогов и исследований не сработало .. Я надеюсь, что это поможет кому-нибудь когда-нибудь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...