. , . , , , (, "id" UNIQUE, ). :
sub set_expired {
my $id = shift;
my $dbh = DBI->connect(database);
my $sql = qq{UPDATE table SET expired=IF(NOW() > date, 1, 0) WHERE id = ?};
my $sth = $dbh->prepare($sql);
$sth->execute($id);
my $rows_affected = $sth->rows();
$sth->finish();
}
mysqld, , table.date, , mysqld. , table.date /-, , mysqld . NOW() , , .
, , , , :
... SET expired=IF(NOW() > DATE_ADD(date, INTERVAL 4 HOUR), 1, 0) WHERE ...
, , table.date, ( ) : , , , , , . , GMT/UTC, .
, id UNIQUE-ness. WHERE 1 , . 1, table.date, , , . , n , , n . 1, 0 , . , n 1 0 , , .
, UPDATE, , , , . , ; , :)