Foros del Web » Programando para Internet » PHP »

[Ideas] Identificador automático

Estas en el tema de [Ideas] Identificador automático en el foro de PHP en Foros del Web. Estoy usando php y mysql. En una de las tablas guardo información sobre libros, uno de los campos es el identificador del libro (que es ...
  #1 (permalink)  
Antiguo 02/05/2007, 02:59
 
Fecha de Ingreso: marzo-2007
Ubicación: España
Mensajes: 133
Antigüedad: 17 años, 8 meses
Puntos: 0
[Ideas] Identificador automático

Estoy usando php y mysql. En una de las tablas guardo información sobre libros, uno de los campos es el identificador del libro (que es un número que se va incrementando).
La tabla ya contiene unos 6700 registros que se introdujeron anteriormente con otro sistema. Ahora al pasarlo a mysql, me gustaría saber la forma para que el identificador del libro se incremente cada vez que se introduce un nuevo libro en la base de datos. Había pensado hacerlo con auto_increment, pero he visto que no se le puede dar un valor inicial. Y ahora pensaba en hacerlo con alguna variable, pero donde guardo esta variable? tambíen tendría que ir actualizandola cada vez que inserte/borre una fila de esa tabla.

Alguna sugerencia?
  #2 (permalink)  
Antiguo 02/05/2007, 04:31
Avatar de franquero  
Fecha de Ingreso: julio-2005
Mensajes: 179
Antigüedad: 19 años, 4 meses
Puntos: 1
Re: [Ideas] Identificador automático

Buenas,

sí puedes empezar el autoincrement con un valor determinado:

Código HTML:
CREATE TABLE `libros` (
  `ID` int(11) NOT NULL auto_increment,
  `REF` text NOT NULL,
  `nombre` text NOT NULL,
  PRIMARY KEY  (`ID`)
) ENGINE=MyISAM AUTO_INCREMENT=6701 ;
El próximo ID será el 6701 y seguirá a partir de ahí.
Un saludo
__________________
Es una suerte que la sociedad libre sea más productiva, porque de no haberlo sido jamás se habría tolerado.
  #3 (permalink)  
Antiguo 02/05/2007, 08:44
 
Fecha de Ingreso: marzo-2007
Ubicación: España
Mensajes: 133
Antigüedad: 17 años, 8 meses
Puntos: 0
Re: [Ideas] Identificador automático

El problema es que esa tabla ya está creada y contiene datos. Hay alguna sentencia para sólo modificar que ese campo sea auto_increment y empiece por una cantidad dada?
  #4 (permalink)  
Antiguo 02/05/2007, 09:18
Avatar de el cirujano  
Fecha de Ingreso: mayo-2003
Ubicación: Frente al PC
Mensajes: 609
Antigüedad: 21 años, 5 meses
Puntos: 3
Re: [Ideas] Identificador automático

prueba cambiando el tipo de campo a INT (me refiero al que va contando los 6700 registro que me imagino va 1,2,3......6698,6699,6700) y despues que la hayas cambiado le indicas que va a ser auto_increment.... despues de eso el comienza a contar desde el 6701

Saludos

PD: si alguna duda coloca aqui tu estructura de BD
__________________
CSS2 + AJAX + PHP + MySQL, una mezcla sin competencia!!!!!!
  #5 (permalink)  
Antiguo 02/05/2007, 09:32
 
Fecha de Ingreso: marzo-2007
Ubicación: España
Mensajes: 133
Antigüedad: 17 años, 8 meses
Puntos: 0
Re: [Ideas] Identificador automático

(Lo siento pero esta en catalán)
Código:
CREATE TABLE `cataleg` (
  `Registre` int(10) NOT NULL,
  `Títol` varchar(150) default NULL,
  `Autors` varchar(150) default NULL,
  `Material` varchar(20) default NULL,
  `Status del llibre` varchar(10) default NULL,
  `Nivell` varchar(20) default NULL,
  `País` varchar(20) default NULL,
  `Llengua` varchar(30) default NULL,
  `Signatura` varchar(30) default NULL,
  `Lloc d'edició` varchar(25) default NULL,
  `Editor` varchar(50) default NULL,
  `Col·lecció` varchar(50) default NULL,
  `Data` varchar(20) default NULL,
  `Descriptors` varchar(160) default NULL,
  `Resum` longtext,
  `Pàgines` varchar(20) default NULL,
  `Dimensió` varchar(10) default NULL,
  `NVolums` varchar(20) default NULL,
  `Detalls` varchar(80) default NULL,
  `ISBN` varchar(30) default NULL,
  `CDU` varchar(30) default NULL,
  `Camp lliure` varchar(254) default NULL,
  `Procedència` varchar(25) default NULL,
  PRIMARY KEY  (`Registre`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
El valor que tiene que ser autoincrement es REGISTRE. He estado mirando las filas... y no están todos los números del 1..6785.
  #6 (permalink)  
Antiguo 02/05/2007, 09:37
Avatar de el cirujano  
Fecha de Ingreso: mayo-2003
Ubicación: Frente al PC
Mensajes: 609
Antigüedad: 21 años, 5 meses
Puntos: 3
Re: [Ideas] Identificador automático

en tu phpMyAdmin haz un backup de tu tabla y luego pega este codigo
Código PHP:
 ALTER TABLE `catalegCHANGE `Registre` `RegistreINT11 NOT NULL AUTO_INCREMENT 
__________________
CSS2 + AJAX + PHP + MySQL, una mezcla sin competencia!!!!!!
  #7 (permalink)  
Antiguo 03/05/2007, 07:55
 
Fecha de Ingreso: marzo-2007
Ubicación: España
Mensajes: 133
Antigüedad: 17 años, 8 meses
Puntos: 0
Re: [Ideas] Identificador automático

mmm no quiero ser pesada... pero como se hace el backup desde phpmyadmin? gracias

Bueno, lo de arriba ya lo he solucionado. Y todo lo del auto_increment también y funciona perfecto. Mil Gracias.

Última edición por Elisa85; 03/05/2007 a las 08:40 Razón: Arreglado
  #8 (permalink)  
Antiguo 03/05/2007, 08:51
Avatar de el cirujano  
Fecha de Ingreso: mayo-2003
Ubicación: Frente al PC
Mensajes: 609
Antigüedad: 21 años, 5 meses
Puntos: 3
Re: [Ideas] Identificador automático

El Backup Era Por Si Tu Mysql Era Una Version Vieja Y No Soportaba Los Comandos.... Los Backup Se Hacen En El Boton Exportar En La Parte Superior Del Phpmyadmin...
__________________
CSS2 + AJAX + PHP + MySQL, una mezcla sin competencia!!!!!!
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 21:58.