Гость
Форумы / MySQL [игнор отключен] [закрыт для гостей] / replace удаляет строки из таблицы / 8 сообщений из 8, страница 1 из 1
16.01.2019, 16:29
    #39760399
Born
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
replace удаляет строки из таблицы
Здравствуйте. Проблема такая:
Mysql 5.6 PHP-5.6
Есть 2 БД, БД-1 и БД-2. в БД-1 названия таблиц в кириллице, в БД-2 соответственно в латинице.
Мне необходимо информацию из БД-1 скачать в соответствующие таблицы в БД-2, соответствия таблиц делаю через отдельный txt файлик.

вот запрос:
Код: plaintext
1.
$query = "REPLACE INTO $bd2tblname SELECT * FROM $b12tblname";



Запрос отрабатывает, но в таблицах БД-2 после копирования нет половину строк.
Например:
БД-1 таблица 1 строк 721135
БД-2 таблица 1 строк 368272

Почему так происходит?
...
Рейтинг: 0 / 0
16.01.2019, 16:33
    #39760405
Born
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
replace удаляет строки из таблицы
Возможно в БД-1 есть дубликаты....... replace при копировании в БД-2 их удаляет?
...
Рейтинг: 0 / 0
16.01.2019, 20:58
    #39760525
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
replace удаляет строки из таблицы
Структура не совпадает. Какие-то ограничения в базе-приёмнике отсутствуют в базе-источнике. Или, скажем, триггеры не отключены на время переноса. Да дохрена вариантов. Смотри предупреждения. Посмотри,есть ли в источнике записи, отсутствующие в приёмнике.
...
Рейтинг: 0 / 0
16.01.2019, 21:04
    #39760530
Born
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
replace удаляет строки из таблицы
ни ошибок ни предупреждений не появляется..... структура одинакова
...
Рейтинг: 0 / 0
16.01.2019, 21:12
    #39760531
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
replace удаляет строки из таблицы
Если REPLACE заменить на INSERT - вставляются все записи?
...
Рейтинг: 0 / 0
16.01.2019, 21:19
    #39760533
Born
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
replace удаляет строки из таблицы
Не пробывал... завтра попробую
...
Рейтинг: 0 / 0
17.01.2019, 09:44
    #39760634
Born
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
replace удаляет строки из таблицы
Вместо REPLACE вставил INSERT, начало выдавать ошибку Duplicate entry ... for key 'PRIMARY'.

Я так понял replace когда находит дубль заменяет его, а insert не заменяет а выдает ошибку.......
В доках читал про replace правда там как-то по-корявому это описано, что я не понял...
В принципе разобрался.
...
Рейтинг: 0 / 0
17.01.2019, 11:45
    #39760725
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
replace удаляет строки из таблицы
Bornreplace когда находит дубль заменяет его, а insert не заменяет а выдает ошибкуДа, если не указано INSERT IGNORE - в таком случае вместо ошибки генерируется предупреждение.
...
Рейтинг: 0 / 0
Форумы / MySQL [игнор отключен] [закрыт для гостей] / replace удаляет строки из таблицы / 8 сообщений из 8, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]