REQ0000001,REQ0000002....REQ0000010, REQ0000011...., REQ0000099 REQ0000100.....
request_id は、最初の 3 文字が 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;
}
これを行うより良い方法はありますか?