Jeśli utworzę np:
gracz1 z id1
gracz2 z id2
po czym usunę jednego z nich i dodam nowego, to ten nowy będzie miał id3 a nie id1 lub id2. Czy jest jakiś sposób żeby to naprawić tzn żeby po usunięciu rekordu id się "zwalniało" i mogło potem zostać przydzielone innemu rekordowi.
-- MySQL Script generated by MySQL Workbench -- 04/11/15 14:59:45 -- Model: New Model Version: 1.0 -- MySQL Workbench Forward Engineering SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0; SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0; SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='TRADITIONAL,ALLOW_INVALID_DATES'; -- ----------------------------------------------------- -- Schema zagadkibazadb -- ----------------------------------------------------- -- ----------------------------------------------------- -- Schema zagadkibazadb -- ----------------------------------------------------- CREATE SCHEMA IF NOT EXISTS `zagadkibazadb` DEFAULT CHARACTER SET utf8 ; USE `zagadkibazadb` ; -- ----------------------------------------------------- -- Table `zagadkibazadb`.`zagadka` -- ----------------------------------------------------- CREATE TABLE IF NOT EXISTS `zagadkibazadb`.`zagadka` ( `idzagadka` INT(11) NOT NULL AUTO_INCREMENT, `tresc` VARCHAR(145) NULL DEFAULT NULL, PRIMARY KEY (`idzagadka`)) ENGINE = InnoDB; -- ----------------------------------------------------- -- Table `zagadkibazadb`.`odpowiedz` -- ----------------------------------------------------- CREATE TABLE IF NOT EXISTS `zagadkibazadb`.`odpowiedz` ( `idodpowiedz` INT(11) NOT NULL AUTO_INCREMENT, `tresc` VARCHAR(45) NULL DEFAULT NULL, `punkty` INT NULL DEFAULT 0, `prawidlowa` INT NULL DEFAULT 0, `zagadka_idzagadka` INT(11) NULL, PRIMARY KEY (`idodpowiedz`), INDEX `fk_odpowiedz_zagadka1_idx` (`zagadka_idzagadka` ASC), CONSTRAINT `fk_odpowiedz_zagadka1` FOREIGN KEY (`zagadka_idzagadka`) REFERENCES `zagadkibazadb`.`zagadka` (`idzagadka`) ON DELETE NO ACTION ON UPDATE NO ACTION) ENGINE = InnoDB; -- ----------------------------------------------------- -- Table `zagadkibazadb`.`gracz` -- ----------------------------------------------------- CREATE TABLE IF NOT EXISTS `zagadkibazadb`.`gracz` ( `idgracz` INT(11) NOT NULL AUTO_INCREMENT, `nazwa` VARCHAR(15) NULL DEFAULT NULL, `haslo` VARCHAR(10) NULL DEFAULT NULL, `ostatni_wynik` VARCHAR(45) NULL DEFAULT 0, `ostatnio_grano` DATE NULL, PRIMARY KEY (`idgracz`)) ENGINE = InnoDB; -- ----------------------------------------------------- -- Table `zagadkibazadb`.`wynik` -- ----------------------------------------------------- CREATE TABLE IF NOT EXISTS `zagadkibazadb`.`wynik` ( `idwynik` INT(11) NOT NULL AUTO_INCREMENT, `gracz_nazwa` VARCHAR(45) NULL DEFAULT NULL, `numer_zagadki` INT NULL DEFAULT 0, `liczba_punktow` INT NULL DEFAULT 0, `data` DATE NULL, `odpowiedz_idodpowiedz` INT(11) NULL, `gracz_idgracz` INT(11) NULL, PRIMARY KEY (`idwynik`), INDEX `fk_wynik_odpowiedz1_idx` (`odpowiedz_idodpowiedz` ASC), INDEX `fk_wynik_gracz1_idx` (`gracz_idgracz` ASC), CONSTRAINT `fk_wynik_odpowiedz1` FOREIGN KEY (`odpowiedz_idodpowiedz`) REFERENCES `zagadkibazadb`.`odpowiedz` (`idodpowiedz`) ON DELETE NO ACTION ON UPDATE NO ACTION, CONSTRAINT `fk_wynik_gracz1` FOREIGN KEY (`gracz_idgracz`) REFERENCES `zagadkibazadb`.`gracz` (`idgracz`) ON DELETE NO ACTION ON UPDATE NO ACTION) ENGINE = InnoDB; SET SQL_MODE=@OLD_SQL_MODE; SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS; SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS;