Salve a tutti,
nel mio DB ho le seguenti tabelle:
Codice PHP:
CREATE TABLE `ordini` (
`id_ordine` int(10) unsigned NOT NULL auto_increment,
`id_user` varchar(80) NOT NULL,
`data` int(10) unsigned NOT NULL,
`pagamento` tinyint(10) default '0',
`spedizione` tinyint(10) default '0',
`evaso` tinyint(1) NOT NULL,
`ora` int(10) unsigned NOT NULL,
`totale` decimal(8,2) NOT NULL default '0.00',
PRIMARY KEY (`id_ordine`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 ROW_FORMAT=DYNAMIC AUTO_INCREMENT=13 ;
CREATE TABLE `ordini_prodotti` (
`id` int(10) unsigned NOT NULL auto_increment,
`id_prodotto` int(10) unsigned NOT NULL,
`prezzo` decimal(8,2) NOT NULL default '0.00',
`quantita` int(5) NOT NULL default '0',
`id_ordine` int(10) unsigned NOT NULL,
PRIMARY KEY (`id`),
KEY `FK_ordini_prodotti_1` (`id_ordine`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 ROW_FORMAT=DYNAMIC AUTO_INCREMENT=21 ;
il mio problema sta nel valore numerico che viene assegnato automatcamente all' id_ordine della tabella ordini
più precisamente, mi capita spesso che:
a fronte di un INSERT nuvo ordine, venga assegnato all' id_ordine un valore già assegnato ad un vecchio record che è stato poi cancellato.
Dovo evitare questo comportamento e assicurarmi che gli ID assegnati non vengano mai più riutilizzati per futuri record. Come posso fare?
PS:
la riga che mi desta più sospetti è la seguente: ROW_FORMAT=DYNAMIC
Cosa significa questa istruzione