Generar un código personalizado en MySQlsin que se repita

Estoy creando una aplicación con formulario php, la idea es guardar la información y en la base de datos

Cuando se tenga que consultar la información el campo CÓDIGO se allá generado un código de 8 caracteres 0000001. Y claro esta que no se repita.

Estaré agradecido ya que soy nuevo en este tipo de conceptos, para que me puedan colaborar

Y seguir aprendiendo.

1 respuesta

Respuesta
4

La columna que almacena el "CODIGO" la puedes poner INTEGER AUTO INCREMENT de 8 caracteres, y usar la propiedad ZEROFILL para que tenga los ceros delante.

Un ejemplo sería así:

CREATE TABLE nombredetabla (x INT(8) ZEROFILL NOT NULL, y INT(8) NOT NULL);
INSERT INTO nombredetabla (x,y) VALUES
(1, 1),
(12, 12),
(123, 123),
(12345678, 12345678);
SELECT x, y FROM nombredetabla;

y obtendrías este resultado:

 X y
00000001 1
00000012 12
00000123 123
12345678 12345678

Recuerda, eso solo es un ejemplo ilustrativo de lo que según entiendo en tu pregunta. En realidad no estoy seguro de como o donde se genera el "CODIGO".

Si me das más detalles, tal vez pueda comprender mejor tu necesidad, pero hasta ahora, eso es lo que entiendo que necesitas.

Andy M

Olvide poner

AUTO_INCREMENT

en la creación de la tabla, eso es importante para que el valor sea único.

Así:

CREATE TABLE nombredetabla (x INT(8) ZEROFILL AUTO_INCREMENT NOT NULL);

Andy M

Por cierto, el código INSERT que te puse, es solo un ejemplo. Cuando usas AUTO_INCREMENT no tienes que incluir esa columna en el INSERT, la puedes ignorar, se pone automático.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas