SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 25.10.2022 17:38:13

rbwest
Участник
Зарегистрирован: 30.10.2011
Сообщений: 16

Перенос значений из таблиц разных по структуре

Всем привет! Вопрос следующий: переношу сайт на другой движок, столкнулся с тем, что не понимаю как правильно добавлять в запрос данные, если в таблице акцепторе они есть, а в доноре нет, запрос такой


INSERT INTO oc_category (category_id, image, parent_id, top, column, sort_order, status, date_added, date_modified)
    SELECT
        id AS category_id,
        image_url AS image,
        parent AS parent_id,
        invisible AS top,
        mg_NaN AS column,
        sort AS sort_order,
        activity AS status,
        mg_NaN AS date_added,
        mg_NaN AS date_modified
    FROM
        mg_category
 

там где mg_NaN мне нужно как то вставлять свои значения (в column вставить 1, а в date_added и date_modified - текущую дату)
дату я получаю вот так $date = date('Y-m-d H:i:s'); но как вставлять не соображу.
И, извиняюсь за второй вопрос в одной теме, но он по этому же вопросу:
если в таблице доноре в столбце invisible значение 0, мне его в top надо записывать как '1', и наоброт если 1 то записывать как 0
пока еще не пробовал, нашел что вроде вот как то так IF(tableA.value == 0, 1, 0) но не знаю насколько это правильно.
Заранее благодарю за любые советы!

Неактивен

 

#2 26.10.2022 00:34:37

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5788

Re: Перенос значений из таблиц разных по структуре

INSERT INTO oc_category (category_id, image, parent_id, top, `column`, sort_order, `status`, date_added, date_modified)
    SELECT
        id AS category_id,
        image_url AS image,
        parent AS parent_id,
        invisible AS top,
        1 AS `column`,
        sort AS sort_order,
        activity AS `status`,
        now() AS date_added,
        now() AS date_modified
    FROM
        mg_category



rbwest написал:

если в таблице доноре в столбце invisible значение 0, мне его в top надо записывать как '1', и наоброт если 1 то записывать как 0
пока еще не пробовал, нашел что вроде вот как то так IF(tableA.value == 0, 1, 0) но не знаю насколько это правильно.

Если поле not null и только 2 возможных значения, то да можно так (только 1 знак равенства).

И обратите внимание,  `column` и `status` - ключевые слова, их нужно заключать в обратные кавычки.
https://dev.mysql.com/doc/refman/8.0/en/keywords.html

Неактивен

 

#3 26.10.2022 09:29:59

rbwest
Участник
Зарегистрирован: 30.10.2011
Сообщений: 16

Re: Перенос значений из таблиц разных по структуре

vasya, огромное спасибо!

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson