我有一个需求,其中request_id的格式为
假设表中的最后一条记录是REQ0000009,则下一条记录将是REQ0000010。如何在perl中实现?
我使用以下方式:
有没有更好的方法来完成这个任务?
REQ0000001、REQ0000002……REQ0000010、REQ0000011……REQ0000099 REQ0000100.....
,前三个字符是REQ,后面7个字符是数字序列,这个request_id是mysql表中的主键。假设表中的最后一条记录是REQ0000009,则下一条记录将是REQ0000010。如何在perl中实现?
我使用以下方式:
$sql_query = "select request_id from requests order by request_id DESC LIMIT 1";
将这个值存储在名为x的变量中。然后
$x = reverse $x; #Reverse the String
chop $x; # Chop the last Character (here R)
chop $x; # Chop the last Character (here E)
chop $x; # Chop the last Character (here Q)
$x = reverse $x; # Again Reverse
$x = $x + 1; # Add 1
if ( length($x) eq 1) # if length ==1{
$NextReq_id = 'REQ000000'.$x;
elsif ( length($x) eq 2)
$NextReq_id = 'REQ00000'.$x;
elsif ( length($x) eq 3)
$NextReq_id = 'REQ0000'.$x;
elsif ( length($x) eq 4)
{
$NextReq_id = 'REQ000'.$x;
}
有没有更好的方法来完成这个任务?
REQ9999999
?RER0000000
或者REQ10000000
? - TLP