|
ru.cgi.perl- RU.CGI.PERL ------------------------------------------------------------------ From : Comoderator of RU.CGI.PERL 2:5020/371.32 22 Dec 2000 15:24:43 To : Yu Subject : Moderatorial [+] (Re: MySQL) --------------------------------------------------------------------------------
В твоём письме от Thu, 21 Dec 2000 21:10:06 +0300 написано:
yfku> Serge Rodovnichenko <Serge.Rodovnichenko@f696.n5020.z2.fidonet.org> wrote:
yfku>
SR>> Hello Serg!
yfku>
SR>> Wednesday December 13 2000 08:12, Serg Wereskov wrote to All:
yfku>
>>>> php. Потому что на нем сложно сваять достаточно нетривиальный проект,
>>>> в котором ты упрешься в то, что mySQL это не настоящая база данных.
yfku>
SW>>> В каком смысле ненастоящая? И что лучше ?
yfku>
SR>> MySQL не умеет триггеров, stored procedures. Транзакции только-только в
SR>> последней версии научился (3.23.??). Зато быстрый и неприхотливый в смысле
SR>> железа.
yfku>
yfku> Задачка: угадать результат исполнения на 3.23.latest такого кода,
yfku> например: use DBI; my $dbh ; my $in_tx = 0; eval { $dbh =
yfku> DBI->connect('dbi:mysql:database=test;hostname=127.0.0.1;port=3306') or
yfku> die "Can't connect: ".$DBI::errstr;
$dbh->>do('SET AUTOCOMMIT=0');# <<< mysql specific
yfku>
$dbh->>do('BEGIN WORK') or die "can't start TX: ".$DBI::errstr;
yfku> $in_tx = 1;
$dbh->>do(q{ CREATE TABLE myTable ( id integer, str char(20) ) })
yfku> or die "Can't create table: ".$DBI::errstr;
$dbh->>do('ROLLBACK')
yfku> or die "Can't rollback: ".$DBI::errstr;
yfku> $in_tx = 0;
$dbh->>do('SET AUTOCOMMIT=1'); # <<< mysql specific
$dbh->>do('INSERT INTO myTable (id,str) VALUES (1,"one")')
yfku> or die "Can't insert: ".$DBI::errstr;
yfku>
yfku> print "Oops. Insert completed :-]\n";
yfku> };
yfku> if ($@) {
yfku> print STDERR $@;
$dbh->>do('ROLLBACK') if $in_tx;
yfku> }
$dbh->>disconnect if defined $dbh;
yfku> exit 0;
yfku>
yfku> p.s. DBD::mysql не "кушает" $dbh->commit и $dbh->rollback
yfku> p.p.s. Hа DBD::Informix результат выполнения малость подправленного
yfku> кода будет таким:
yfku> DBD::Informix::db do failed: SQL: -206: The specified table (mytable)
yfku> is not in the database.
yfku>
yfku>
Оффтопик.
--- slrn/0.9.6.3-as (Linux)
* Origin: AKA с подствольным плюсомётом (2:5020/371.32)
Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.cgi.perl/7355081b88b5c.html, оценка из 5, голосов 10
|