Доброго дня. Пытаюсь понять как выполнить запрос на перезапись значений из строки одной таблицы в другую. Имеются две таблицы: tabl1 c полями tabl1_id, value1, value2, value3, datetabl1 tabl2 c полями tabl2_id, value1, value2, value3, datetabl2 поля "Id" и "date" проставляются автоматически. Мне надо создать строку в таблице tabl2, и перезаписать значения из полей value1, value2, value3 таблицы tabl1, в одноимённые поля таблицы tabl2. Помогите с запросом пожалуйста. Поиск в гугле выдаёт мне что надо строить такую конструкцию: Код (Text): INSET INTO table1(a,b,c,d) SELECT a, b, c, d FROM table2 в итоге у меня вышло Код (Text): INSERT INTO tabl2 (value1, value2, value3) SELECT value1, value2, value3 FROM tabl1 WHERE (tabl1_id = 266) но хоть запрос и отрабатывает но новая строка во второй таблице не создаётся, пишет (Добавлено 0 строк). И так то что выше решено: вопрос номер два, исключительно для самообразования возможно ли как то объединить две вот такие записи в одну? Запись №1: Код (Text): INSERT INTO tabl2 (value1, value2, value3) SELECT value1, value2, value3 FROM tabl1 WHERE (tabl1_id = $peremennajaNr1) Запись №2: Код (Text): INSERT INTO tabl2(datetabl2) VALUES ('$peremennajaNr2') На данный момент всё работает на первом запросе а поле "date" заполняется автоматом. Просто на будущее хочется уметь объединять.
Каким образом? На сколько я понимаю UPDATE меняет уже существующие значения а мне надо: Только не бейте ногами я не разбираюсь так хорошо в языке.
что вы хотели сказать этим условием WHERE ? проверьте себя без INSERT — будет ли найдена строка. приходят на ум и другие возможные причины, но они должны сопровождаться ошибкой, а вы не написали, что выдается какая-то ошибка. выходит дело в том, что вставлять просто нечего.
Ну как бы вот так: tabl1 tabl1_id ="1", value1="пофиг что1", value2="пофиг что1", value3="пофиг что1", datetabl1="какая то дата1" tabl1_id ="2", value1="пофиг что2", value2="пофиг что2", value3="пофиг что2", datetabl1="какая то дата2" tabl1_id ="3", value1="пофиг что3", value2="пофиг что3", value3="пофиг что3", datetabl1="какая то дата3" ........................ tabl1_id ="266", value1="пофиг что266", value2="пофиг что266", value3="пофиг что266", datetabl1="какая то дата266" tabl2 tabl2_id ="1", value1="пофиг что1", value2="пофиг что1", value3="пофиг что1", datetabl1="какая то дата1" tabl2_id ="2", value1="пофиг что2", value2="пофиг что2", value3="пофиг что2", datetabl1="какая то дата2" этим SQL запросом я пытаюсь создать: tabl2_id ="3", value1="пофиг что266", value2="пофиг что266", value3="пофиг что266", datetabl1="какая то дата3" WHERE (tabl1_id = 266) в данном случае указывает (в моём представлении) что надо взять значения из конкретной строки где tabl1_id ="266" Добавлено спустя 24 минуты 6 секунд: о спасибо нашёл ошибку конструкция рабочая у меня просто не было значения 266 отсюда и ошибка )) как только подставил реально существующие всё заработало.