Tengo una base de datos existente que usa PHP, MySQL y phpMyAdmin.
Cuando los usuarios se convierten en miembros de mi sitio web, necesito que el sistema cree un número de membresía único para ellos utilizando un número de cinco dígitos. por ejemplo, 83773. Supongo que es como generar una contraseña aleatoria, excepto que solo quiero números para mis miembros. Este número de identificación debe ser único para cada miembro.
¿Sería posible para mí establecer la clave principal en auto_increment en mi tabla de usuarios y configurarla para que comience en 10000 y luego aumente automáticamente cada vez que un miembro se registre?
Además, ¿hay un número máximo al que llegaría el número de identificación de la clave principal?
¿Es esta una forma confiable y segura de utilizar el número de identificación de la clave principal como número de membresía?
fuente
Respuestas:
Hay posibles pasos para habilitar el incremento automático de una columna. Supongo que la versión de phpMyAdmin es 3.5.5 pero no estoy seguro.
Haga clic en Tabla > pestaña Estructura > En Acción Haga clic en Principal (establecer como principal), haga clic en Cambiar en la ventana emergente, desplácese hacia la izquierda y marque A_I . También asegúrese de haber seleccionado Ninguno como predeterminado
fuente
Query error: #1075 - Incorrect table definition; there can be only one auto column and it must be defined as a key
En phpMyAdmin, navegue hasta la tabla en cuestión y haga clic en la pestaña "Operaciones". A la izquierda, debajo de Opciones de tabla, se le permitirá establecer el valor AUTO_INCREMENT actual.
fuente
Simplemente ejecute una consulta MySQL simple y establezca el número de incremento automático en lo que desee.
En términos de un máximo, hasta donde yo sé, no hay uno, ni hay forma de limitar ese número.
Es perfectamente seguro y una práctica común establecer un número de identificación como clave primaria, incrementando automáticamente int. Existen alternativas, como usar PHP para generar números de membresía para usted en un formato específico y luego verificar que el número no existe antes de insertarlo, sin embargo, para mí personalmente , elegiría el valor de identificación principal auto_inc.
fuente
fuente
En phpMyAdmin, si configura un campo en su tabla para que aumente automáticamente, y luego inserta una fila y establece el valor de ese campo en 10000, continuará desde allí.
fuente
@AmitKB, su procedimiento es correcto. Aunque este error
Error de consulta: # 1075 - Definición de tabla incorrecta; solo puede haber una columna automática y debe definirse como una clave
se puede resolver marcando primero el campo como clave (usando el icono de clave con la etiqueta principal), a menos que tenga otra clave, es posible que no funcione.
fuente
No puede establecer un valor máximo (aparte de elegir un tipo de datos que no pueda contener números grandes, pero no hay ninguno que tenga el límite que está solicitando). Puede verificar eso con LAST_INSERT_ID () después de insertar para obtener la identificación del miembro recién creado, y si es demasiado grande, manipúlelo en el código de su aplicación (por ejemplo, elimine y rechace el miembro).
¿Por qué quieres un límite superior?
fuente
Esto se debe a las tablas
wp_terms
,wp_termmeta
ywp_term_taxonomy
, que no tenían todos sus ID configurados enAUTO_INCREMENT
Para hacer esto, vaya a phpmyadmin, haga clic en la base de datos de preocupaciones,
wp_terms
tabla, haga clic en la pestaña de estructura, en el lado derecho verá una pestaña con el nombreA_I(AUTO_INCREMENT)
, márquela y guarde (solo está haciendo esto para la primera opción, en el caso dewp_term
que esté solo haciéndolo porterm_id
).Haga lo mismo para
wp_termmeta
ywp_term_taxonomy
eso solucionará el problema.fuente
(a) Simplemente haga clic en su base de datos, seleccione su tabla. Haga clic en 'Operaciones'. En la sección 'opciones de la tabla' cambie el valor AUTO_INCREMENT al valor deseado, en este caso: 10000 y haga clic en 'Ir'. (Ver imagen adjunta)
(b) Alternativamente, puede ejecutar un comando SQL en la pestaña SQL después de seleccionar su tabla. Simplemente escriba 'ALTER TABLE table_name AUTO_INCREMENT = 10000;' luego haga clic en 'Ir'. ¡¡Eso es!! CONFIGURACIÓN DEL VALOR DE INCREMENTO AUTOMÁTICO imagen (a)
CONFIGURACIÓN DEL VALOR DE INCREMENTO AUTOMÁTICO imagen (B)
fuente