Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / (Perl) Скрипт для переноса колонок между таблицами MySQL / 3 сообщений из 3, страница 1 из 1
22.04.2015, 13:06
    #38942469
artful
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(Perl) Скрипт для переноса колонок между таблицами MySQL
Всем привет!
Есть две таблицы Mysql:
bill49.dopvalues:
+-------+----------+-----------+--------------------------------+---------+----------+--------+
| line_id | parent_id | dopfield_id | field_value | admin_id | time | revision |
+-------+----------+-----------+--------------------------------+---------+----------+--------+

bill.data0:
+----+----+------------+------------+-----------+-------------+-----------------------+--------------+
| id | uid | _adr_street | _adr_house | _adr_room | _adr_telefon | _mac | _adr_comment |
+----+----+------------+------------+-----------+-------------+-----------------------+--------------+

Есть задача перенести из базы MySQL bill49 таблицы dopvalues с колонки field_value выбрать данные где dopfield_id=4, в базу bill в таблицу data0 в колонку _mac, но таким образом, чтобы данные относительно parent_id первой таблицы соответствовали uid второй.

Нашел похожий скрипт и слегка переделал, но опыта особого нет, и делает он не то что мне нужно:

#!/usr/bin/perl
use DBI;
my $dsn = 'DBI:mysql:bill:localhost';
my $db_user_name = 'root';
my $db_password = 'hardpass';
my ($uid, $mac, $x);
my $dbh = DBI->connect($dsn, $db_user_name, $db_password);
$x=0;
while($x<574) {
my $sth = $dbh->prepare(qq{
SELECT parent_id, field_value from bill49.dopvalues
WHERE parent_id=$x AND dopfield_id=4 AND revision=(
SELECT MAX(revision)
FROM bill49.dopvalues
WHERE parent_id=$x AND dopfield_id=4);
});
$sth->execute();
($uid, $mac) = $sth->fetchrow_array();
$sth->finish();
$dbh->do("INSERT INTO bill.data0 (_mac) values ('$mac')");
print "$x, $mac\n";
$x++;
}
$dbh->disconnect();

Можете подсказать как сделать, чтобы все благополучно перенеслось?
...
Рейтинг: 0 / 0
22.04.2015, 13:33
    #38942513
artful
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(Perl) Скрипт для переноса колонок между таблицами MySQL
bill49.dopvalues:
+---------+--------------+----------------+----------------+--------------+------+------------+
| line_id | parent_id | dopfield_id | field_value | admin_id | time | revision |
+---------+--------------+----------------+----------------+--------------+------+------------+

bill.data0:
+---+----+-----------------+------------------+----------------+------------------+---------+----------------------+
| id | uid | _adr_street | _adr_house | _adr_room | _adr_telefon | _mac | _adr_comment |
+---+----+-----------------+------------------+----------------+------------------+---------+----------------------+
...
Рейтинг: 0 / 0
22.04.2015, 18:12
    #38942889
artful
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(Perl) Скрипт для переноса колонок между таблицами MySQL
Вопрос решил самостоятельно
...
Рейтинг: 0 / 0
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / (Perl) Скрипт для переноса колонок между таблицами MySQL / 3 сообщений из 3, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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