Tengo una base de datos usando PHP, MySQL y phpMyAdmin.

Cuando los usuarios convertirse en un miembro en mi sitio web, tengo el sistema para crear un único número de membresía para ellos el uso de un número de cinco dígitos. para el correo.g 83773. Supongo que es como generar una contraseña aleatoria, excepto yo sólo quiero los números de mis miembros. Este número de ID debe ser único para cada uno de los miembros.

Sería posible para mí para establecer la clave principal para auto_increment en mi tabla de usuario y configurar para que se inicie en 10000 y, a continuación, incremento automático cada vez que un miembro se registra?

También, hay un número máximo que la principal clave de IDENTIFICACIÓN de número que iban a?

Es esta una forma confiable y segura para utilizar la clave principal número de IDENTIFICACIÓN, como un número de membresía?

  • Algunas de las personas que a continuación respondió que no existe un límite superior para la clave primaria, pero quiero suponer que el límite superior es el máximo tamaño del tipo de datos seleccionado…tal vez me equivoque, pero no int estar limitado a un valor máximo de 4294967295 entonces? dev.mysql.com/doc/refman/5.0/en/numeric-types.html
  • Favor de recoger el aceptado respuesta. Creo que este es uno de los stackoverflow.com/a/18942684/248616
InformationsquelleAutor JaYwzx Wong | 2011-04-14

8 Comentarios

  1. 184

    Hay pasos para hacer auto incriment para una columna. Supongo que la versión de phpMyAdmin es 3.5.5 pero no estoy seguro.

    Haga clic en Tabla > Estructura tab > Bajo Acción haga clic en Cambio en el ppoup de desplazamiento de la ventana de la izquierda y de verificación A_I. También asegúrese de que ha seleccionado Ninguno para DefectoIncremento automático en phpmyadmin

    • Desde la auto-inc característica fue retirado de las Operaciones de la ficha, parece que este es cómo ponerlo en práctica ahora. Gracias, @AmitKB.
    • Sin embargo, cuando traté de que tengo este error: Query error: #1075 - Incorrect table definition; there can be only one auto column and it must be defined as a key
    • El mensaje es claro, usted podría estar tratando de tener más de un auto de la columna.
    • Sin embargo, cuando traté de que tengo este error: Query error: #1062 - ALTER TABLE causes auto_increment resequencing, resulting in duplicate entry '1' for key 'PRIMARY'
    • Parece que las columnas ya tienen valores, puede eliminar los valores de esa columna y probarlo.
    • Tenía un problema similar y esta solucionado mi problema
    • wow, así de simple. ¿por qué nadie menciona esto? me tomó tanto tiempo para encontrar una respuesta como esta. por lejos la mejor respuesta.
    • Yaakov Ainspan establecer clave principal primera, a continuación, establezca incremento automático
    • Se requiere para establecer la columna como clave.
    • Asegúrese de que sus «Atributos», es decir, la Tabla > Estructura tab > Acción > Cambiar > Atributos es «Vacío». Si no lo está, entonces, en primer lugar hacer Vacío, guardarlo y, a continuación, rehacer su acción y habilitar A_I botón de comprobación y, a continuación, guárdelo. Tengo el mismo error, es decir, «Consulta de error: #1075 – Incorrecta definición de la tabla; no puede ser sólo un auto de la columna y debe ser definida como una clave», pero después he seguido los pasos anteriores, se trabajó.
    • También se puede desmarcar la clave principal opción.
    • Funciona como magia. Gracias

  2. 52

    En phpMyAdmin, vaya a la tabla en cuestión y haga clic en «Operaciones» de la ficha. En la izquierda, debajo de la Tabla de Opciones, usted podrá ajustar el valor AUTO_INCREMENT.

    • cuando hago esto a mi sólo dos opciones respecto a la adición de auto_increment son «mover la tabla a» o «copiar la tabla». yo no lo desea mover o copiar la tabla, pero simplemente agregar auto_increment. ¿qué está pasando?? estoy usando MySQL v5.6.
  3. 20

    Sólo tiene que ejecutar una simple consulta de MySQL y configurar el auto número de incremento a lo que usted desea.

    ALTER TABLE `table_name` AUTO_INCREMENT=10000

    En términos de un máximo, en la medida de como soy consciente de que no hay uno, ni hay alguna manera de limitar ese número.

    Es perfectamente seguro, y la práctica común para establecer un número de identificación como un primiary clave, de auto incremento int. Hay alternativas como el uso de PHP para generar el número de socios para usted en un formato específico y, a continuación, comprobar que el número no existe antes de la inserción, sin embargo, para a mí personalmente me gustaría ir con la identificación principal auto_inc valor.

  4. 7
    1. En la «Estructura» de la pestaña de la tabla
    2. Haga clic en el lápiz de la variable que desea auto_increment
    3. en «Extra» ficha de elegir «auto_increment»
    4. a continuación, vaya a «Operaciones» de la pestaña de la tabla
    5. En «opciones de Tabla» -> auto_increment tipo -> 10000
  5. 2

    En phpMyAdmin, si se establece un campo en la tabla de incremento automático y, a continuación, insertar una fila y establecer que el valor del campo a 10000, que continuará a partir de allí.

  6. 2

    @AmitKB, Su procedimiento es correcto. Aunque este error

    Consulta de error: #1075 – Incorrecta definición de la tabla; no puede ser sólo un auto de la columna y debe ser definida como una clave

    puede ser resuelto por la primera marcar el campo como clave(usando el icono de la llave con la etiqueta de primaria),a menos que haya otra clave, entonces, es posible que no funcione.

    • Ha sido tanto tiempo desde que jugó con phpMyAdmin me he olvidado de cómo hacerlo. Gracias por la corrección para esta cuestión secundaria. A mí me funcionó.
  7. 0

    No se puede establecer un valor máximo (aparte de la elección de un tipo de datos que puede contener grandes cantidades, pero no hay ninguna que tenga el límite está pidiendo). Se puede comprobar que con LAST_INSERT_ID() después de la inserción para obtener el identificador de la recién creada miembro, y si es demasiado grande identificador en el código de la aplicación (por ejemplo, eliminar y rechazar el miembro).

    ¿Por qué quieres un límite superior?

  8. 0

    Esto es debido a la wp_terms, wp_termmeta y wp_term_taxonomy tablas, que tenía todos sus documentos de identidad no se establece a AUTO_INCREMENT

    Para ello, vaya a phpmyadmin, haga clic en la preocupación de la base de datos, wp_terms tabla, haga clic en la Ficha estructura, en el lado derecho verá una pestaña llamada A_I(AUTO_INCREMENT), verificar y guardar (sólo estás haciendo esto por la primera opción, en el caso wp_term que sólo lo hace por term_id).

    Hacer lo mismo para wp_termmeta y wp_term_taxonomy que solucione el problema.

    • Me parece que piensas que el OP es el uso de WordPress, ¿dónde se encuentra esa información? No puedo encontrar ninguna referencia a WP en la pregunta.

Dejar respuesta

Please enter your comment!
Please enter your name here