Estimado, creo que lo que intentas hacer no es lo mejor.
A pesar de que entiendo que tienes muy clara tu idea, almacenar cada una de esas rutas en una BD no es lo mejor que se puede hacer.
La única forma (aún así no es la correcta) sería almacenar solo 51881 en la base de datos y solo en la condicion que lo quieras diferencia concatenarlo con a.jpg, b.jpg y c.jpg.
Lo que te recomiendo es separar las imágenes por directorio
a/51881.jpg
b/51881.jpg
c/51881.jpg
y la diferenciación te la realizaría el directorio
¿Por qué? para mostrar la imagen, php debe recorrer todo el directorio en busca de ella y por cada imagen que buscas, existen 3 de la misma antecediendola.
En un escenario de 1.000.000 de imagenes con 3 de cada tipo (3.000.000) si la imagen que quieres mostrar se encuentra en la posicion 1600, la busqueda de ella se demorará como minimo 1599*3
Además, en la base de datos, solo guardas 51881.jpg y se realizará sin ningún tipo de problema.
Con respecto al nombre, la incrementación en ciertos puntos trare problemas ya que si lo manejas por BD debes consultar cuál fué la última y eso también ocupa recursos no nativos. Para ello te recomiendo algo así....
PHP:
$extension = pathinfo($_FILES['Filedata']['name']);
$extension = ".".$extension['extension'];
$info = @getimagesize($_FILES['Filedata']['tmp_name']);
$var_rand=rand(10000,999999)* rand(10000,999999);
$nombre_tem=md5($var_rand.$_FILES['Filedata']['name']);
$nombre=$nombre_tem.$extension;
move_uploaded_file($_FILES['Filedata']['tmp_name'], 'imagenes/a/'.$nombre);
Básicamente, generas un random y lo concatenas con el nombre de la imagen y todo eso lo transformas a md5, otra solución sea que en vez de un random (aquí va el SEO) sea el nombre de la imagen-tiempo lo que te generaría algo asi.... vacaciones_en_orlando-5982849.jpg y tienes la segunda solución.
Saludos.