Ver Mensaje Individual
  #4 (permalink)  
Antiguo 26/08/2008, 16:40
Avatar de HackmanC
HackmanC
 
Fecha de Ingreso: enero-2008
Ubicación: Guatemala
Mensajes: 1.817
Antigüedad: 16 años, 3 meses
Puntos: 260
Sonrisa Respuesta: llaves foraneas y primary keys

Cita:
Iniciado por xcars Ver Mensaje
Código:
Create table paises (
	pais_id Int NOT NULL AUTO_INCREMENT,
	pais_nombre Varchar(50),
 Primary Key (pais_id)) ENGINE = InnoDB;

Create table clientes (
	pais_id Int NOT NULL,
	cliente_id Int NOT NULL AUTO_INCREMENT,
	cliente_nombre Varchar(50),
 Primary Key (pais_id,cliente_id)) ENGINE = InnoDB;
Sql Error: Incorrect table definition, there can be only one auto column and it must defined as a key
MySQL te está dicendo que no puedes tener más de 1 columna auto_increment y que tiene que ser definida como el único campo dentro de una llave KEY.

Cita:
Iniciado por xcars Ver Mensaje
...pero resulta que en mysql no puedo hacer eso la tabla clientes tiene que quedar con su primary key como primer campo CLIENTES (cliente_id autoincrement, pais_id, cliente_nombre) al invertir esto, ya no recibi el error en mysql, ahora bien no me queda claro PORQUE?????????
Yo creo que no es completamente cierto.
Al invertir la instrucción MySQL "genera el mismo error".
Lo que puede haber sucedido es que sacaste la otra parte de la PRIMARY KEY.

Código:
Create table clientes (
	cliente_id Int NOT NULL AUTO_INCREMENT,
	pais_id Int NOT NULL,
	cliente_nombre Varchar(50),
 Primary Key (cliente_id)) ENGINE = InnoDB;
Saludos,

ps:

Que un campo sea primary key y foreign key al mismo tiempo no tiene nada que ver, yo uso muchas estructuras así para relaciones 1-1. (Pero no auto_increment)

Última edición por HackmanC; 26/08/2008 a las 16:54 Razón: unico