我需要一种方法让数据库返回一个唯一的时间戳(格式为YYYYMMDD.HH:MM:SS)或我可以解析的东西。我的程序有文件名进来并重命名,我试图找到一种方法来确保我没有在文件上重复的时间戳和风险覆盖文件。数据库将仅以YYYYMMDD.HH:MM:SS格式跟踪时间记录。如果文件进来并且时间与数据库匹配,我需要数据库返回新的时间戳并更新数据库。
if( $fileName =~ m/^[a-z0-9]{3}[0-9]{5}\.[0-9]{5}\.([0-9]{8}\.[0-9]{2}:[0-9]{2}:[0-9]{2})\.(.)*/ )
{
$dttmstmp = $1;
}
else
{
$current_time = Date->getDateTime();
$dttmstmp = $current_time;
}
my $databaseHandle = getDbConnection();
my $tstamp_present = getDbTime ( $databaseHandle , $dttmstmp );
if ($tstamp_present == 1)
{
sleep(1); # sleep to change timestamp
$dttmstmp = Date->getDateTime(); # Get new timestamp
updateTimestamp ( $databaseHandle , $dttmstmp ); # Update database with new timestamp
}
else
{
updateTimestamp ( $databaseHandle , $dttmstmp ); # Update database with new timestamp
}