Я написал сценарий Perl для запуска SQL-запроса 20 000 раз, и в выводе предполагается, что значение SELECTed является правильным (очевидно, вы просто хотите поднять и настроить SQL-код из сценария, чтобы обновить таблицу, но я включаю скрипт, чтобы вы могли доказать, что он работает):
#!/usr/bin/perl -w
use strict;
use DBI;
use Data::Dumper;
my $dbh = DBI->connect( "dbi:mysql:test", "root", "" ) or die $!;
my $q = <<EOQ;
select if(r.bar between 103 and 109, 110, r.bar )
from ( select floor( rand() * 113 ) + 8 as bar ) r
EOQ
;
my $sth = $dbh->prepare( $q );
my $vals = {};
for ( 0 .. 20000 ) {
$sth->execute();
my $row = $sth->fetchrow_arrayref();
my $int = $row->[0];
$vals->{$int}++;
}
print join( "\n", sort keys %$vals ), "\n";