MySQL Perl и проблем с Update
2 отговора
0 прегледа
MySQL Perl и проблем с Update
Версията на MySQL:
5.0.21-Debian_3-log
Имам един скрипт на Перл:
И в него се изпълнява следната заявка:
STDERR е пренасочен към файл:
И всичко е перфектно само дето ъпдейт няма.
Същата заявка от конзола, или от някой от туловете - ъпдейтва.
Опит да прихвана грешки или предупреждения:
$dbh->err
$dbh->errstr
dbh->{'mysql_error'}
dbh->{'mysql_errno'} (може би е трябвало да ползвам mysql_errno())
Та всички опити да прихване грешка - водят до 0 или ""
И се чудя каква е възможната грешка - по скоро как бих могъл да я хвана.
Логвам се с еднакви user name / password - и от скрипта и от конзола.
Скрипта преди това се свързва с DB, прави си заявки и т.н.
Bеer? Mоre?
Плацебото
5.0.21-Debian_3-log
Имам един скрипт на Перл:
И в него се изпълнява следната заявка:
В отговор на:
$query = "Update Everywhere set MType='99',Taken='99', Transcribed='1',Sent='1' where FileName ='$file' ";
$sth = $dbh->prepare($query);
$sth->execute || die("Couldn't exec sth!");
print STDERR "Rerecord query $query\n";
STDERR е пренасочен към файл:
В отговор на:
Rerecord query Update Everywhere set MType='99',Taken='99', Transcribed='1',Sent='1' where FileName ='35131172530690'
И всичко е перфектно само дето ъпдейт няма.
Същата заявка от конзола, или от някой от туловете - ъпдейтва.
Опит да прихвана грешки или предупреждения:
$dbh->err
$dbh->errstr
dbh->{'mysql_error'}
dbh->{'mysql_errno'} (може би е трябвало да ползвам mysql_errno())
Та всички опити да прихване грешка - водят до 0 или ""
И се чудя каква е възможната грешка - по скоро как бих могъл да я хвана.
Логвам се с еднакви user name / password - и от скрипта и от конзола.
Скрипта преди това се свързва с DB, прави си заявки и т.н.
Bеer? Mоre?
Плацебото
Редактирано от bira_more на
Ех тези задклавиатурни устройства :(
Проблема се оказа в задклавиатурното устройство.
Скрипта дълъг. Писан от един куп хора, без никакви бележки по него.
И в същност се оказа че аз правя update, ама малко по късно правя второ update, което възстановява статуквото.
Нищо де - поне сега ако някой има нужда от дебъг в Perl на заявки към MySQL - свиркайте.
А бе кога най-накрая ще почнат да правят читави задклавиатурни устройства не мога да разбера. Монитори като слънце, процесори като свръх нова (толкова греят поне), дискове - целия Аз съм на всеки километър може да запише човек (не че ще го направя де), а задклавиатурните устройства все същите.
Bеer? Mоre?
Плацебото
Скрипта дълъг. Писан от един куп хора, без никакви бележки по него.
И в същност се оказа че аз правя update, ама малко по късно правя второ update, което възстановява статуквото.
Нищо де - поне сега ако някой има нужда от дебъг в Perl на заявки към MySQL - свиркайте.
А бе кога най-накрая ще почнат да правят читави задклавиатурни устройства не мога да разбера. Монитори като слънце, процесори като свръх нова (толкова греят поне), дискове - целия Аз съм на всеки километър може да запише човек (не че ще го направя де), а задклавиатурните устройства все същите.
Bеer? Mоre?
Плацебото
Re: Ех тези задклавиатурни устройства :(
проблемът можеше и да е ако при връзка към базата беше зададено AutoCommit => 0
П.П.
дано си спомням правилно - не съм писал на perl от години
40
П.П.
дано си спомням правилно - не съм писал на perl от години
40