Различные вопросы по PHP и MySQL

253K
.

На сервере есть две абсолютно одинаковые по структуре таблицы `users` в двух базах данных `db_1` и `db_2`

В первой таблице отсутствует половина записей
Как проще всего скопировать данные из второй таблицы (которых нет в первой) и записать их в первую?

.
Hey guys! Finally I'm gonna change status!?

Hat-Trik,

INSERT INTO users_1 (col) SELECT col from users_2

Только сначала надо принимающую колонку очистить.
.

kantry, имеющиеся записи трогать не надо, а если записи с таким ID нет, то записывать
я так понял данный вариант подходит

INSERT IGNORE INTO `db_1`.`users`
SELECT *
FROM `db_2`.`users`
.
Hey guys! Finally I'm gonna change status!?

Hat-Trik, Тогда проще update сделать, обновление не затронет одинаковые значения.

.

kantry, но update остановит выволнение запроса если обнаружет дублирование

.
Hey guys! Finally I'm gonna change status!?

Serghei, Невнимательно я как всегда вопрос прочитал

INSERT INTO tbl1 (id, col1) SELECT id, col2 FROM tbl2 WHERE id not in(select id from tbl1)
.
(\/)____o_O____(\/)

Можно ещё if not exists использовать

.
Enter нажат, к чему теперь рыданья…

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

Есть таблица mov_posts, в ней есть поля xfields и approve
Вот мне надо найти все строки где в xfields есть такой текст /uploads/poster_none.jpg и присвоить полю approve значение '0'
Пробовал так

UPDATE approve FROM `mov_post` SET approve = '0' WHERE xfields = '%/uploads/poster_none.jpg%'

и так
UPDATE approve FROM mov_post SET approve = '0' WHERE xfields = '%/uploads/poster_none.jpg%'

Ну ни как...
.
Simba
Кадило крутится, лавэха мутится

Sitego, WHERE field LIKE ‘%name%’ юзай.
Ток не копируй кавычки из этого поста ) с телефона писал, они какие-то не такие ) напиши лучше сам )

.
Enter нажат, к чему теперь рыданья…

Макс, спасибо, но я пробовал LIKE и раньше. Это в принципе одно и то же, что знак равно, что LIKE. Или я заблуждаюсь?
В общем, методом тыка нащупал. Я там лишнее писал. Вот так запрос сработал.

UPDATE mov_post SET approve = '0' WHERE xfields = '%/uploads/poster_none.jpg%'

и так тоже работает
UPDATE mov_post SET approve = '0' WHERE xfields LIKE '%/uploads/poster_none.jpg%'
Всего: 7969