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

problamas con `id`en mySQL

Estas en el tema de problamas con `id`en mySQL en el foro de Bases de Datos General en Foros del Web. Hola foro, me presento, soy diseñador web y hace poco he hecho un curso de PHP y para meterme en el tema he decidido hacer ...
  #1 (permalink)  
Antiguo 20/10/2003, 11:02
Avatar de X3mdesign  
Fecha de Ingreso: octubre-2003
Ubicación: Madrid
Mensajes: 649
Antigüedad: 20 años, 6 meses
Puntos: 2
problamas con `id`en mySQL

Hola foro, me presento, soy diseñador web y hace poco he hecho un curso de PHP y para meterme en el tema he decidido hacer un portal sobre Japón http://nippon-tour.webcindario.com/ está ya la estructura hecha y programado para mostrar los contenidos... no se si de la forma más ortodoxa pero funciona

La cuestión es que he hecho una zona privada para que se pueda meter datos desde web, editar, borrar y añadir registros. Pero a la hora de añadir un registro de doy un `id`que sea el nº de filas + 1... pero claro si borro algún registro esta fórmula no es válida... y si no especifico un `id`correcto no me lo crea...

Alguna sugerencia?? el tipo de `id`es PRIMARY... es el idóneo?? cual usar en cada momento??

Espero haberme expresado bien y que me podáis echar una mano, gracias
__________________
Nippon-Tour, tu portal sobre Japón
¿Te gusta el manga, haces tus propios dibujos? Visita FanArt de Nippon-Tour
  #2 (permalink)  
Antiguo 20/10/2003, 11:29
Avatar de Cain  
Fecha de Ingreso: enero-2002
Ubicación: Catalunya
Mensajes: 6.459
Antigüedad: 22 años, 4 meses
Puntos: 17
Si usas PHP, utiliza mysql_insert_id() para saber el último id creado.
__________________
M a l d i t o F r i k i
  #3 (permalink)  
Antiguo 20/10/2003, 20:14
 
Fecha de Ingreso: septiembre-2003
Mensajes: 248
Antigüedad: 20 años, 7 meses
Puntos: 2
Lo más recomendable será que utilizes campos autonuméricos ya que si borras registros no sabrás cual sigue a no ser que uses max(id) para saber el valor máximo y luego sumar 1, sin embargo te recomendaría que cambies a autonuméricos
un buen programa para manerjar y crear bases de datos de mysql (si estoy equivocado por favor corríjanme) es el phpmyadmin, seguro te puede servir
saludos y suerte!
__________________
Jose A
  #4 (permalink)  
Antiguo 21/10/2003, 02:13
Avatar de X3mdesign  
Fecha de Ingreso: octubre-2003
Ubicación: Madrid
Mensajes: 649
Antigüedad: 20 años, 6 meses
Puntos: 2
Gracias, huso phpmyadmin en un espacio de miarroba, y el tipo de campo que estoy poniendo para `id`es: Tipo >> tinyint(10); atributos >> vacío; Nulo >> No; Predeterminado >> vacío; Extra >> auto_increment pero la cuestión es que me sigue dando error hasta que le indico un `id`válido...

En cuanto a lo de usar mysql_insert_id()... me podíras poner un ejemplo?? he mirado en el manual, pero no me aclaro...

Gracias de nuevo!!!

P.D.: este es mi 2º post... espero que en un tiempo pueda empezar a responder yo alguno
__________________
Nippon-Tour, tu portal sobre Japón
¿Te gusta el manga, haces tus propios dibujos? Visita FanArt de Nippon-Tour
  #5 (permalink)  
Antiguo 21/10/2003, 02:22
Avatar de Cain  
Fecha de Ingreso: enero-2002
Ubicación: Catalunya
Mensajes: 6.459
Antigüedad: 22 años, 4 meses
Puntos: 17
$result = mysql_query("INSERT INTO tabla VALUES (NULL,2,3)");
$ultimo = mysql_insert_id();
echo $ultimo;
__________________
M a l d i t o F r i k i
  #6 (permalink)  
Antiguo 21/10/2003, 02:29
Avatar de X3mdesign  
Fecha de Ingreso: octubre-2003
Ubicación: Madrid
Mensajes: 649
Antigüedad: 20 años, 6 meses
Puntos: 2
mmmmm, pero entonces el valor de $ultimo se conoce una vez ya entrado el registro...y esa variable permanece hasta la siguiente entrada?? o es una propiedad que se "graba" de alguna forma en la tabla para el siguiente registro... sorry, por la pesadez ^_^
__________________
Nippon-Tour, tu portal sobre Japón
¿Te gusta el manga, haces tus propios dibujos? Visita FanArt de Nippon-Tour
  #7 (permalink)  
Antiguo 21/10/2003, 02:43
Avatar de Cain  
Fecha de Ingreso: enero-2002
Ubicación: Catalunya
Mensajes: 6.459
Antigüedad: 22 años, 4 meses
Puntos: 17
A ver, mysql_insert_id() hace referencia al último id utilizado y es un valor que se puede llamar después de hacer un insert.
__________________
M a l d i t o F r i k i
  #8 (permalink)  
Antiguo 21/10/2003, 02:44
Avatar de Cain  
Fecha de Ingreso: enero-2002
Ubicación: Catalunya
Mensajes: 6.459
Antigüedad: 22 años, 4 meses
Puntos: 17
http://www.php.net/mysql_insert_id
__________________
M a l d i t o F r i k i
  #9 (permalink)  
Antiguo 21/10/2003, 05:13
Avatar de X3mdesign  
Fecha de Ingreso: octubre-2003
Ubicación: Madrid
Mensajes: 649
Antigüedad: 20 años, 6 meses
Puntos: 2
Gracias Cain, le echo un vistazo... pero... esoty pensando que si devuelve el último `id` utilizado... sigo sin saber si el siguiente está libre u ocupado.... es decir me haría falta saber cual es el próximo `id` que no ha sido ocupado por otro registro.... no?? yo creo que me estoy liando más de la ceunta...
__________________
Nippon-Tour, tu portal sobre Japón
¿Te gusta el manga, haces tus propios dibujos? Visita FanArt de Nippon-Tour
  #10 (permalink)  
Antiguo 21/10/2003, 05:58
Avatar de Cain  
Fecha de Ingreso: enero-2002
Ubicación: Catalunya
Mensajes: 6.459
Antigüedad: 22 años, 4 meses
Puntos: 17
A ver, si es el último id, y se acaba de crear, está claro que el siguiente está libre. Esa es la gracia de los autoincrementales.
__________________
M a l d i t o F r i k i
  #11 (permalink)  
Antiguo 22/10/2003, 06:34
Avatar de X3mdesign  
Fecha de Ingreso: octubre-2003
Ubicación: Madrid
Mensajes: 649
Antigüedad: 20 años, 6 meses
Puntos: 2
Gracias, caín, ya está resuelto
__________________
Nippon-Tour, tu portal sobre Japón
¿Te gusta el manga, haces tus propios dibujos? Visita FanArt de Nippon-Tour
  #12 (permalink)  
Antiguo 22/10/2003, 15:18
Avatar de Cain  
Fecha de Ingreso: enero-2002
Ubicación: Catalunya
Mensajes: 6.459
Antigüedad: 22 años, 4 meses
Puntos: 17
De nada
__________________
M a l d i t o F r i k i
  #13 (permalink)  
Antiguo 10/06/2004, 14:50
 
Fecha de Ingreso: abril-2004
Ubicación: sdfsdfdf
Mensajes: 2
Antigüedad: 20 años
Puntos: 0
Pregunta id muy grande

hola a todos, yo tendo un libro de visitas y utilizo el id autoincrementa, mi problema es que tengo un id muy grande por las pruebas que hacia y los mensajes que tengo el la libreta son pocos, quiero que el id se autoincremente del id que tiene el ultimo mensaje que tengo en adelante, como puedo hacer que el id aumente del valor del id que tiene el ultimo mensaje hacia adelante, por ejemplo yo cambie mis mensajes suponiendo que son 50 mensajes pero mi id autoincrementa a id=234556777 los demas valores eran pruebas y los borre por lo tanto mis ids que utilizo los cambie a mano del 1 al 50, pero en ligar del 51 me incrementa el otro numero mayor, como puedo incrementar al numero 51?
espero haberme explicado, gracias!!!
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 18:55.