Título: Llave primaria compuesta
Publicado por: SilverLycan68 en 22 Enero 2019, 21:46 pm
Lo que necesito es que el ID=MarcaID+(ModeloID/1000) de que forma se podria hacer. CREATE TABLE `autos` ( `ID` double NOT NULL, `Marca` varchar(40) DEFAULT NULL, `MarcaID` int(10) NOT NULL, `Modelo` varchar(40) DEFAULT NULL, `ModeloID` int(10) NOT NULL, PRIMARY KEY (`ID`), UNIQUE KEY `ID_UNIQUE` (`ID`) )
Si he visto que se puede hacer Primary Key(MarcaID, ModeloID), pero no es lo que necesito. CREATE TABLE `au1` ( `MarcaId` int(5) NOT NULL, `Marca` varchar(20) DEFAULT NULL, `ModeloId` int(5) NOT NULL, `Modelo` varchar(20) DEFAULT NULL, PRIMARY KEY (`MarcaId`,`ModeloId`) )
Les agradezco la ayuda.
Título: Re: Llave primaria compuesta
Publicado por: MCKSys Argentina en 23 Enero 2019, 11:39 am
Hola! No soy experto en MySQL, pero lo siguiente parece funcionar: CREATE TABLE `au1` ( `MarcaId` INT(5) NOT NULL, `Marca` VARCHAR(20) DEFAULT NULL, `ModeloId` INT(5) NOT NULL, `Modelo` VARCHAR(20) DEFAULT NULL, `Clave` INT(5) AS (`MarcaId` + `ModeloId` / 1000), PRIMARY KEY (Clave) )
Probado en: https://es.piliapp.com/mysql-syntax-check/ (https://es.piliapp.com/mysql-syntax-check/) Saludos!
|