Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

ayuda con auto_increment

Estas en el tema de ayuda con auto_increment en el foro de Mysql en Foros del Web. Hola que tal, importe una tabla y al crearla se me olvido dejarla en auto_increment, y ahora que quiero hacerlo me sale el siguiente error. ...
  #1 (permalink)  
Antiguo 15/07/2008, 16:07
 
Fecha de Ingreso: febrero-2006
Mensajes: 217
Antigüedad: 18 años, 2 meses
Puntos: 0
ayuda con auto_increment

Hola que tal, importe una tabla y al crearla se me olvido dejarla en auto_increment, y ahora que quiero hacerlo me sale el siguiente error.

Código HTML:
Error

consulta SQL:

ALTER TABLE `usuarios` CHANGE `id` `id` INT( 11 ) NOT NULL AUTO_INCREMENT

MySQL ha dicho: #1062 - Duplicate entry '1' for key 1
Y cuando examino el error me aparece
Código HTML:
Error

consulta SQL:

SELECT *
FROM `usuarios`
WHERE CONCAT_WS( "-", 11 ) = "1"
ORDER BY 11
LIMIT 0 , 60

MySQL ha dicho:
#1054 - Unknown column '11' in 'order clause'
no se realmente que pasa. Otras tablas con la misma estructura pude ponerla la clave primaria en auto_increment sin problemas y nada, hice un repair table, y nada tampoco.

alguna idea?

Última edición por Ruben_C; 15/07/2008 a las 16:24
  #2 (permalink)  
Antiguo 15/07/2008, 17:03
Iom
 
Fecha de Ingreso: abril-2008
Mensajes: 47
Antigüedad: 16 años
Puntos: 2
Respuesta: ayuda con auto_increment

Bien posiblemente verifica los valores que estas llenando por que hay un dato en tu BD que es duplicado ! ese es el problema. Verifica que tu "AUTO_INCREMENT" en la base de datos no se esta duplicando ejem.

si es solo un "id" que se llena obviamente en 1,2,3,4,5,6......... verifica que ya no tengas un campo llamado "id". eso es lo que se me ocurre
  #3 (permalink)  
Antiguo 15/07/2008, 17:29
 
Fecha de Ingreso: febrero-2006
Mensajes: 217
Antigüedad: 18 años, 2 meses
Puntos: 0
Respuesta: ayuda con auto_increment

no creo que sea problema de campos, sino de registro. No tengo ninguna entrada repetida en id.
  #4 (permalink)  
Antiguo 15/07/2008, 18:00
Iom
 
Fecha de Ingreso: abril-2008
Mensajes: 47
Antigüedad: 16 años
Puntos: 2
Respuesta: ayuda con auto_increment

ok.!!

Es que estas haciendo un duplicado de en tu clave primaria. Y obviamente una clave primaria no puede ser duplicada en ningun tipo de manejador de bd.....

!!! no tendras otro registro !. que lo colocastes como clave primaria???
  #5 (permalink)  
Antiguo 15/07/2008, 18:23
 
Fecha de Ingreso: febrero-2006
Mensajes: 217
Antigüedad: 18 años, 2 meses
Puntos: 0
Respuesta: ayuda con auto_increment

Un registro como clave primaria? se puede hacer eso?.

Lo que si estoy seguro, es que no existe ningun campo dentro de mi tabla que este definido como primary key. Solo el campo ID esta definido de esa manera. Entonces:

- No tengo mingun registro repetido para el campo ID.
- Solo el campo ID esta definido como clave primaria.

Ahora, alguien sabe que significa esto?
Código HTML:
consulta SQL: 

SELECT *
FROM `usuarios`
WHERE CONCAT_WS( "-", 11 ) = "1"
ORDER BY 11
LIMIT 0 , 30

MySQL ha dicho: 
#1054 - Unknown column '11' in 'order clause'
  #6 (permalink)  
Antiguo 16/07/2008, 00:14
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años, 1 mes
Puntos: 300
Respuesta: ayuda con auto_increment

Si no tienes repetido un 1 como id y se trata de un campo INT, solo se me ocurren un par de cosas, por si funcionan.
¿Primero una pregunta. Las tablas son MyISAM o InnoDB? Me refiero tanto a la de partida como a la tabla donde importas los datos?
Ahora un experimento:
Si en la tabla donde has importado, el número más alto de id que tienes es 350
sigue estos pasos:
ALTER TABLE nombretutabla AUTO_INCREMENT = 351;
ALTER TABLE `nombretutabla` CHANGE `id` `id` INT( 11 ) NOT NULL AUTO_INCREMENT

Donde digo 350 a 351, quiero decir sumar uno al más alto, para que el autoincrement no choque con los datos que ya tienes. No sé si funcionará, pero el auto_increment de una tabla nueva comienza en 1 salvo que se haya especificado otra cosa, algo que no ocurría en la tabla de procedencia. Cuando intentas poner como auto_increment el campo ID, el programa se da cuenta de que ya tiene el 1 en el campo que va a cargar como primer auto_increment.
Sólo por probar algo.

Desde luego, el error de la consulta que te muestra consiste en tratar de ordenar por un campo con nombre exclusivamente numérico, algo inaceptable para MySQL.

Última edición por jurena; 16/07/2008 a las 10:04
  #7 (permalink)  
Antiguo 16/07/2008, 15:48
 
Fecha de Ingreso: febrero-2006
Mensajes: 217
Antigüedad: 18 años, 2 meses
Puntos: 0
Respuesta: ayuda con auto_increment

Hola jurena, las dos tablas son INNODB, la de origen y la de destino de los datos. No me funciono lo que me plantaste.

Lo extraño es que en otras tablas me dejo hacer esto sin ningun problema. Es decir, que en otras tablas la id ya venia incluida ej: 1,2,3,4,5 y al hacerle auto_increment, simplemente comenzaban a ingresar los datos con la id autoincrementable a partir de 5, o sea 6,7,8... etc.
  #8 (permalink)  
Antiguo 16/07/2008, 17:52
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: ayuda con auto_increment

La cosa es más simple:
Si ese campo no es usado como FOREIGN KEY en otra tabla:
1. Eliminá el campo que quieres hacer auto_increment:
Código:
ALTER TABLE `usuarios` DROP COLUMN  `id`;
2. Vuelvelo a crear:
Código:
ALTER TABLE `usuarios` ADD COLUMN  `id` INT( 11 ) 
NOT NULL AUTO_INCREMENT PRIMARY KEY;
El propio MySQL numerará los registros.

Si el campo es FK en otra tabla, no podrás hacer esto, y vas a tener que realizar el proceso de nuevo, so pena de generar serios problemas.

Atención: En MySQL un campo AUTOINCREMENT en forzosamente PRIMARY KEY. Si no lo declaras así te dará un error.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #9 (permalink)  
Antiguo 16/07/2008, 20:29
 
Fecha de Ingreso: febrero-2006
Mensajes: 217
Antigüedad: 18 años, 2 meses
Puntos: 0
Respuesta: ayuda con auto_increment

hhhuuuuuuyyyyy borrarlo? glurp. bueno es lo unico que va quedando. a cerrar los ojos y probar.
  #10 (permalink)  
Antiguo 16/07/2008, 20:44
 
Fecha de Ingreso: febrero-2006
Mensajes: 217
Antigüedad: 18 años, 2 meses
Puntos: 0
Respuesta: ayuda con auto_increment

ja, funciono, gracias gnzsoloyo!!
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 20:23.