Salve a tutti,
effettuando i test su una piccola applicazione sql mi sono trovato davanti ad un mezzo casino, credo risolvibile, solo che non riesco a venirne fuori ed avrei bisogno di un consiglio.
Ve lo illustro:

codice:
CREATE TABLE IF NOT EXISTS `fornitori` (
  `id_fornitore` int(11) NOT NULL AUTO_INCREMENT,
  `nome` varchar(255) NOT NULL,
  `cognome` varchar(255) NOT NULL,
  `telefono` varchar(255) NOT NULL,
  `email` varchar(255) DEFAULT NULL,
  `indirizzo` varchar(255) DEFAULT NULL,
  `data` varchar(255) NOT NULL,
  PRIMARY KEY (`id_fornitore`)
);

CREATE TABLE IF NOT EXISTS `libri` (
  `id_libro` int(11) NOT NULL AUTO_INCREMENT,
  `isbn` varchar(255) NOT NULL,
  `autore` varchar(255) NOT NULL,
  `titolo` varchar(255) NOT NULL,
  `casa_editrice` varchar(255) NOT NULL,
  `anno` varchar(4) NOT NULL,
  `materia` varchar(255) DEFAULT NULL,
  `prezzo` float NOT NULL,
  `venduto` varchar(1) NOT NULL DEFAULT '0',
  `data_vendita` varchar(255) NOT NULL,
  PRIMARY KEY (`id_libro`),
  FULLTEXT KEY `autore` (`autore`,`titolo`)
);

CREATE TABLE IF NOT EXISTS `libri_fornitore` (
  `id_libri_fornitore` int(11) NOT NULL AUTO_INCREMENT,
  `isbn` varchar(255) NOT NULL,
  `id_fornitore` int(11) NOT NULL,
  `data` varchar(255) NOT NULL,
  PRIMARY KEY (`id_libri_fornitore`)
);
Ecco le mie tre tabelle, si tratta della gestione di un archivio di libri/fornitori per un mercatino del libro usato. Ecco il problema: al momento della progettazione, stupidamente, non avevo fatto caso che l'ISBN di un libro non è unico, perchè può capitare che due fornitori distinti portino ciascuno un libro con lo stesso ISBN, e quando questo avviene succede un casino.
Il problema sarebbe risolvibile cambiando la chiave primaria della tabella Libri, assegnandola a id_libro...se non fosse che id_libro viene assegnata da un Auto Increment...non ho come tirarla fuori al momento dell'inserimento del record nella tabella libri_fornitore.

codice:
$data = date("d-m-y - G:i:s");             // 22-09-11 - 21:56:01
$sql=mysql_query("INSERT INTO libri (id_libro,isbn, autore, titolo, casa_editrice, materia, anno, prezzo, venduto, data_vendita) VALUES ('','$isbn', '$autore', '$titolo','$casa_editrice', '$materia', '$anno', $prezzo, '0', '')");
$sql2=mysql_query("INSERT INTO libri_fornitore (id_libri_fornitore, isbn, id_fornitore, data) VALUES ('','$isbn', '$code', '$data')");
Questo è l'inserimento. Come posso ovviare al problema? Avevo pensato di effettuare prima l'inserimento del record nella tabella libri, tirare fuori l'id_libro e poi dopo inserire il record corrispondente nella tabella libri_fornitore...ma non è uno spreco abnorme di risorse? Non è un casino da implementare?
Consigli?