Kako je ovo moguce:
Pogledajte tabelu narudzba_proizvod:
Code:
-- phpMyAdmin SQL Dump
-- version 3.1.3.1
-- http://www.phpmyadmin.net
--
-- Host: localhost
-- Generation Time: Sep 28, 2011 at 04:35 PM
-- Server version: 5.1.33
-- PHP Version: 5.2.9-2
SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";
--
-- Database: `prodavnica`
--
-- --------------------------------------------------------
--
-- Table structure for table `narudzba_proizvod`
--
CREATE TABLE IF NOT EXISTS `narudzba_proizvod` (
`Narudzba_idNarudzba` int(11) NOT NULL,
`Proizvod_idProizvod` int(11) NOT NULL,
PRIMARY KEY (`Narudzba_idNarudzba`,`Proizvod_idProizvod`),
KEY `fk_Narudzba_has_Proizvod_Narudzba1` (`Narudzba_idNarudzba`),
KEY `fk_Narudzba_has_Proizvod_Proizvod1` (`Proizvod_idProizvod`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
--
-- Dumping data for table `narudzba_proizvod`
--
INSERT INTO `narudzba_proizvod` (`Narudzba_idNarudzba`, `Proizvod_idProizvod`) VALUES
(1, 1),
(1, 2),
(1, 4),
(1, 7),
(1, 8),
(1, 9),
(1, 10),
(1, 11),
(1, 12),
(1, 13),
(2, 1),
(2, 2),
(2, 4),
(2, 7),
(2, 8),
(2, 9),
(2, 10),
(2, 11),
(2, 12),
(2, 13);
--
-- Constraints for dumped tables
--
--
-- Constraints for table `narudzba_proizvod`
--
ALTER TABLE `narudzba_proizvod`
ADD CONSTRAINT `fk_Narudzba_has_Proizvod_Narudzba1` FOREIGN KEY (`Narudzba_idNarudzba`) REFERENCES `narudzba` (`idNarudzba`) ON DELETE NO ACTION ON UPDATE NO ACTION,
ADD CONSTRAINT `fk_Narudzba_has_Proizvod_Proizvod1` FOREIGN KEY (`Proizvod_idProizvod`) REFERENCES `proizvod` (`idProizvod`) ON DELETE NO ACTION ON UPDATE NO ACTION;
Iskren da budem nisam ni obratio paznju da mi je Workbench za Narudzba_idNarudzba i Proizvod_idProizvod stavio
da su primarni kljucevi i kako je to moguce ako je ta tabela nastala kao posledica veze vise: vise i oni treba da budu spoljni kljucevi. Medjutim oni su nekim cudom upisani pod PK ali kako sam onda uspeo da upisem ovoliko istih primarnih kljuceva???
Potpuno isti slucaj za tabelu konfiguracija_proizvod:
Code:
-- phpMyAdmin SQL Dump
-- version 3.1.3.1
-- http://www.phpmyadmin.net
--
-- Host: localhost
-- Generation Time: Sep 28, 2011 at 04:40 PM
-- Server version: 5.1.33
-- PHP Version: 5.2.9-2
SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";
--
-- Database: `prodavnica`
--
-- --------------------------------------------------------
--
-- Table structure for table `konfiguracija_proizvod`
--
CREATE TABLE IF NOT EXISTS `konfiguracija_proizvod` (
`Konfiguracija_idKonfiguracija` int(11) NOT NULL,
`Proizvod_idProizvod` int(11) NOT NULL,
PRIMARY KEY (`Konfiguracija_idKonfiguracija`,`Proizvod_idProizvod`),
KEY `fk_Konfiguracija_has_Proizvod_Konfiguracija1` (`Konfiguracija_idKonfiguracija`),
KEY `fk_Konfiguracija_has_Proizvod_Proizvod1` (`Proizvod_idProizvod`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
--
-- Dumping data for table `konfiguracija_proizvod`
--
--
-- Constraints for dumped tables
--
--
-- Constraints for table `konfiguracija_proizvod`
--
ALTER TABLE `konfiguracija_proizvod`
ADD CONSTRAINT `konfiguracija_proizvod_ibfk_1` FOREIGN KEY (`Konfiguracija_idKonfiguracija`) REFERENCES `konfiguracija` (`idKonfiguracija`) ON DELETE NO ACTION ON UPDATE NO ACTION,
ADD CONSTRAINT `konfiguracija_proizvod_ibfk_2` FOREIGN KEY (`Proizvod_idProizvod`) REFERENCES `proizvod` (`idProizvod`) ON DELETE NO ACTION ON UPDATE NO ACTION;
Naravno ovde dobijam gresku:
Duplicate entry PRIMARY KEY
Pokusao sam da izbrisem PRIMARY KEY (`Konfiguracija_idKonfiguracija`,`Proizvod_idProizvod`), ali nije uspelo.
Kako da prevazidjem ovo sa tabelom konfiguracija_proizvod???