Cita:
Iniciado por gnzsoloyo
Poner el valor inicial para AUTO_INCREMENT en la creación de la tabla sólo funciona para tablas MyISAM y MEMORY, probablemente el motor esté cambiando el tipo para darles soporte.
A pesar de eso se supone que el MySQL 5.0 le da soporte en InnoDB, simplemente que ignora la cláusula al momento de ejecución.
Ajam y es raro porque en mi servidor externo si me funciona.... El caso que si peude ser eso. una pregunta mas, he cambiado un poco la estructura de las tablas:
DROP TABLE IF EXISTS `categorias`;
CREATE TABLE `categorias` (
titulo varchar (64) NOT NULL,
descripcion text NOT NULL default '',
PRIMARY KEY(`titulo`)
)ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=0 ;
DROP TABLE IF EXISTS `subcategorias`;
CREATE TABLE `subcategorias` (
titulo varchar (64) NOT NULL,
titulo_categoria varchar (64) NOT NULL,
descripcion text NOT NULL,
PRIMARY KEY (`titulo`),
FOREIGN KEY (`titulo`) REFERENCES `categorias`(`titulo`) ON UPDATE CASCADE ON DELETE CASCADE
)ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=0 ;
DROP TABLE IF EXISTS `eventos`;
CREATE TABLE `eventos` (
titulo varchar (64) NOT NULL,
descripcion text NOT NULL,
titulo_subcategoria varchar (64) NOT NULL,
fecha_inicio date NOT NULL,
fecha_final date,
lugar_celebracion text NOT NULL default '',
precio_entrada int (32) unsigned default '0',
email varchar (32) NOT NULL,
telefono varchar (32) NOT NULL,
hora_inicio time,
hora_final time,
imagen varchar (32) NOT NULL default '',
estado tinyint (3) unsigned default '0',
PRIMARY KEY(`titulo`),
FOREIGN KEY (`titulo_subcategoria`) REFERENCES `subcategorias` (`titulo`) ON UPDATE CASCADE ON DELETE CASCADE
)ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=0 ;
Y a la hora de insertar una nueva catgoría me aparece esto:
Failed to execute SQL: INSERT INTO `subcategorias` (`titulo`,`descripcion`,`titulo_categoria`) VALUES ('daaa','aa','cat1'). Error: Cannot add or update a child row: a foreign key constraint fails
Me puedes hechar una mano colega :( ?