1 (edited by Evgeniy D 2018-08-15 09:22:26)

Topic: Перенос данных из одной таблицы в другую

Добрый день, Как перенести данные из одной таблицы в другую, в частности интересует как перенести файл загруженный в БД (MySQL)?

Re: Перенос данных из одной таблицы в другую

Приветствую.


Это можно сделать SQL запросом, пример

INSERT INTO table1(filefield, filefield_filename) SELECT filefield, filefield_filename FROM  table2 WHERE table2.id=1
Dmitry.

3 (edited by Evgeniy D 2018-08-15 14:08:43)

Re: Перенос данных из одной таблицы в другую

Этот код (ниже) выдает ошибку  "Could not convert variant of type (Array Byte) into type (Integer)"

SQLExecute('INSERT INTO komentar (vlo_kompor, vlo_kompor_filename) SELECT vlo_kompor, vlo_kompor_filename FROM koment_por WHERE koment_por.id='+inttostr(i)+'');

Re: Перенос данных из одной таблицы в другую

Дмитрий, тут большинство не сильны в программировании баз данных, поэтому свои примеры желательно разжевывать тщательнее) это я еще могу понять, что к чему, а вот большинство - не очень...
Евгений, для тупого копирования содержимого одной таблицы в другую вам надо выполнить запрос такого вида:

INSERT INTO table2  (fieldname1, fieldname2, ...) SELECT fieldname1, fieldname2, ... FROM  table1

где table1 - название таблицы, откуда копируется, table2 - название таблицы, куда копируется, а fieldname1, fieldname2, ... - это название полей данных (таким образом вы можете выбрать какие поля хотите переносить в новую таблицу из старой).
Вы можете перенести ВСЕ поля со всеми данными следующим запросом:

INSERT INTO table2 SELECT * FROM table1

Если надо перенести данные с каким-то условием, то после FROM table1 используйте конструкцию WHERE <условие>, где <условие> - ваше условие выборки данных.

Re: Перенос данных из одной таблицы в другую

Evgeniy D wrote:

Этот код (ниже) выдает ошибку  "Could not convert variant of type (Array Byte) into type (Integer)"

SQLExecute('INSERT INTO komentar (vlo_kompor, vlo_kompor_filename) SELECT vlo_kompor, vlo_kompor_filename FROM koment_por WHERE koment_por.id='+inttostr(i)+'');

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

Dmitry.