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

auto_increment

Estas en el tema de auto_increment en el foro de Mysql en Foros del Web. hola a todos, soy nueva en este foro. Estoy haciendo unas tablas para mi base de datos y quiero que estas tablas tengan un campo ...
  #1 (permalink)  
Antiguo 19/06/2007, 06:22
 
Fecha de Ingreso: junio-2007
Mensajes: 55
Antigüedad: 17 años, 5 meses
Puntos: 0
auto_increment

hola a todos,

soy nueva en este foro. Estoy haciendo unas tablas para mi base de datos y quiero que estas tablas tengan un campo llamado indice que vaya autoincrementandose.

El caso es que en cuanto introduzco el parametro auto_increment, la tabla ya no se genera (y si que lo hace si no lo introduzco)

Gracias por su ayuda
  #2 (permalink)  
Antiguo 19/06/2007, 08:09
Avatar de jerkan  
Fecha de Ingreso: septiembre-2005
Mensajes: 1.607
Antigüedad: 19 años, 2 meses
Puntos: 19
Re: auto_increment

Hola torerilla, bienvenid@ al foro.

Cuando le pones el auto_increment y no se genera la tabla, ¿te da algún error?

¿Podrías poner el código?
  #3 (permalink)  
Antiguo 19/06/2007, 08:49
 
Fecha de Ingreso: junio-2007
Mensajes: 55
Antigüedad: 17 años, 5 meses
Puntos: 0
Re: auto_increment

Hola, a continuacion te escribo el codigo que genera esta tabla:

Código PHP:
$curso"mdl_id_curso";
$tabla_curso="CREATE TABLE IF NOT EXISTS $curso (";
$tabla_curso.="id BIGINT(10) UNSIGNED not null, ";// AUTO_INCREMENT 
$tabla_curso.="grupo_verificacion VARCHAR(100) not null, ";
$tabla_curso.="curso VARCHAR(20) not null, ";
$tabla_curso.="nombre_asignatura VARCHAR(100) not null)";

if(
mysql_db_query ($DB,$tabla_curso,$conexion))
      {
          echo 
"<h2> Tabla $curso creada con EXITO </h2><br>";
       }
else    
      {
          echo 
"<h2> La tabla $curso NO HA PODIDO CREARSE</h2><br>";    
       } 

No me da ningun error, simplemente al ejecutar la funcion mysql_db_query (dentro del if), se me indica que la tabla ha sido creada con exito. Sin embargo, cuando en la tercera linea añado auto_increment:

Código PHP:
$curso"mdl_id_curso";
$tabla_curso="CREATE TABLE IF NOT EXISTS $curso (";
$tabla_curso.="id BIGINT(10) UNSIGNED not null auto_increment, ";
$tabla_curso.="grupo_verificacion VARCHAR(100) not null, ";
$tabla_curso.="curso VARCHAR(20) not null, ";
$tabla_curso.="nombre_asignatura VARCHAR(100) not null)";

if(
mysql_db_query ($DB,$tabla_curso,$conexion))
      {
          echo 
"<h2> Tabla $curso creada con EXITO </h2><br>";
       }
else    
      {
          echo 
"<h2> La tabla $curso NO HA PODIDO CREARSE</h2><br>";    
       } 

no me genera la tabla, saliendome el aviso, la tabla mdl_id_curso no ha podido crearse (else)

Muchas gracias por tu ayuda
  #4 (permalink)  
Antiguo 19/06/2007, 08:54
 
Fecha de Ingreso: abril-2007
Mensajes: 9
Antigüedad: 17 años, 7 meses
Puntos: 0
Re: auto_increment

Hola, con respecto a lo mismo. ¿Hace falta poner un trigger para el autoincremento?¿Y uina secuencia como en oracle?¿Como se declararía ésta(el new,old,...)?
Gracias por adelantado
  #5 (permalink)  
Antiguo 19/06/2007, 10:40
 
Fecha de Ingreso: junio-2007
Mensajes: 55
Antigüedad: 17 años, 5 meses
Puntos: 0
Re: auto_increment

Podria tener algo que ver con las claves primarias?

Desde Mysql, desde phpMyAdmin, se hacerlas primarias (no es mas que tocar una tecla), pero debo hacerlo desde un programita escrito en php.

No domino el tema de las claves primarias, ni si esa podria ser la causa de que no me genere una tabla cuando introduzco el parametro auto_increment.

Muchas gracias
  #6 (permalink)  
Antiguo 19/06/2007, 10:43
Avatar de turco_7  
Fecha de Ingreso: diciembre-2003
Ubicación: Córdoba, Argentina
Mensajes: 1.044
Antigüedad: 20 años, 11 meses
Puntos: 19
Re: auto_increment

Prueba creando la tabla de esta manera ...

Código PHP:
CREATE TABLE IF NOT EXISTS mdl_id_curso (
id MEDIUMINT NOT NULL AUTO_INCREMENT,
grupo_verificacion VARCHAR(100NOT NULL,
curso VARCHAR(20NOT NULL,
nombre_asignatura VARCHAR(100NOT NULL
Fijate que he cambiado esta linea
id BIGINT(10) UNSIGNED not null auto_increment, por esta otra en realidad he cambiado el tipo de datoid MEDIUMINT NOT NULL AUTO_INCREMENT,

Saludos y espero que funcione...
__________________
Mi Blog http://turco7.blogspot.com
Usuario Linux : 404289
Mi última página: http://www.digitalservicecba.com.ar - Reparacion de camaras digitales!
  #7 (permalink)  
Antiguo 19/06/2007, 10:47
Avatar de turco_7  
Fecha de Ingreso: diciembre-2003
Ubicación: Córdoba, Argentina
Mensajes: 1.044
Antigüedad: 20 años, 11 meses
Puntos: 19
Re: auto_increment

Cita:
Iniciado por sincalzoncillo Ver Mensaje
Hola, con respecto a lo mismo. ¿Hace falta poner un trigger para el autoincremento?¿Y uina secuencia como en oracle?¿Como se declararía ésta(el new,old,...)?
Gracias por adelantado
No hace falta un trigger para el auto_incremento ya que esto lo hace solo el motor.
Secuencia o Sentencia ?
si queres leer algo de trigger aca tenes un link
http://dev.mysql.com/doc/refman/5.0/...e-trigger.html

saludos
__________________
Mi Blog http://turco7.blogspot.com
Usuario Linux : 404289
Mi última página: http://www.digitalservicecba.com.ar - Reparacion de camaras digitales!
  #8 (permalink)  
Antiguo 19/06/2007, 11:03
 
Fecha de Ingreso: junio-2007
Mensajes: 55
Antigüedad: 17 años, 5 meses
Puntos: 0
Re: auto_increment

Cita:
Prueba creando la tabla de esta manera ...

Código PHP:
CREATE TABLE IF NOT EXISTS mdl_id_curso (
id MEDIUMINT NOT NULL AUTO_INCREMENT,
grupo_verificacion VARCHAR(100) NOT NULL,
curso VARCHAR(20) NOT NULL,
nombre_asignatura VARCHAR(100) NOT NULL)
Fijate que he cambiado esta linea
id BIGINT(10) UNSIGNED not null auto_increment, por esta otra en realidad he cambiado el tipo de datoid MEDIUMINT NOT NULL AUTO_INCREMENT,
Gracias por la ayuda turco_7, pero probe y no me funciona tampoco con mediumint.

La verdad esque no se que puede ser... y necesito que se autoincremente
  #9 (permalink)  
Antiguo 19/06/2007, 11:15
Avatar de turco_7  
Fecha de Ingreso: diciembre-2003
Ubicación: Córdoba, Argentina
Mensajes: 1.044
Antigüedad: 20 años, 11 meses
Puntos: 19
Re: auto_increment

dejame probar una cosa ... :(
__________________
Mi Blog http://turco7.blogspot.com
Usuario Linux : 404289
Mi última página: http://www.digitalservicecba.com.ar - Reparacion de camaras digitales!
  #10 (permalink)  
Antiguo 19/06/2007, 11:16
Avatar de jerkan  
Fecha de Ingreso: septiembre-2005
Mensajes: 1.607
Antigüedad: 19 años, 2 meses
Puntos: 19
Re: auto_increment

Utiliza la funcion mysql_error para saber más sobre el error.
¿Qué versión de mysql utilizas?
  #11 (permalink)  
Antiguo 19/06/2007, 11:19
Avatar de turco_7  
Fecha de Ingreso: diciembre-2003
Ubicación: Córdoba, Argentina
Mensajes: 1.044
Antigüedad: 20 años, 11 meses
Puntos: 19
Re: auto_increment

perdon ... :( sabes que paso ? que no hemos declarado el campo ID como PK, entonces nunca va a ser autoincremente.
Cita:
CREATE TABLE mdl_id_curso (
id int(11) NOT NULL auto_increment,
grupo_verificacion varchar(100) NOT NULL,
curso varchar(20) NOT NULL,
nombre_asignatura varchar(100) NOT NULL,
PRIMARY KEY (id)
)
y directamente ponemos el campo como int
Esta vez deberia funcionar bien
saludos
__________________
Mi Blog http://turco7.blogspot.com
Usuario Linux : 404289
Mi última página: http://www.digitalservicecba.com.ar - Reparacion de camaras digitales!
  #12 (permalink)  
Antiguo 19/06/2007, 12:05
 
Fecha de Ingreso: junio-2007
Mensajes: 55
Antigüedad: 17 años, 5 meses
Puntos: 0
Re: auto_increment

Muchisimas gracias, en efecto, en cuanto escribimos

PRIMARY KEY (id)

funciona correctamente. Eran las claves primarias.

Muchas gracias por todo,

Saludos
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 13:52.