Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Id po usunięciu rekordu
Forum PHP.pl > Forum > Bazy danych > MySQL
Amakesh
Witam! Mam bazę danych jak poniżej.
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.




  1. -- MySQL Script generated by MySQL Workbench
  2. -- 04/11/15 14:59:45
  3. -- Model: New Model Version: 1.0
  4. -- MySQL Workbench Forward Engineering
  5.  
  6. SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0;
  7. SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0;
  8. SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='TRADITIONAL,ALLOW_INVALID_DATES';
  9.  
  10. -- -----------------------------------------------------
  11. -- Schema zagadkibazadb
  12. -- -----------------------------------------------------
  13.  
  14. -- -----------------------------------------------------
  15. -- Schema zagadkibazadb
  16. -- -----------------------------------------------------
  17. CREATE SCHEMA IF NOT EXISTS `zagadkibazadb` DEFAULT CHARACTER SET utf8 ;
  18. USE `zagadkibazadb` ;
  19.  
  20. -- -----------------------------------------------------
  21. -- Table `zagadkibazadb`.`zagadka`
  22. -- -----------------------------------------------------
  23. CREATE TABLE IF NOT EXISTS `zagadkibazadb`.`zagadka` (
  24. `idzagadka` INT(11) NOT NULL AUTO_INCREMENT,
  25. `tresc` VARCHAR(145) NULL DEFAULT NULL,
  26. PRIMARY KEY (`idzagadka`))
  27. ENGINE = InnoDB;
  28.  
  29.  
  30. -- -----------------------------------------------------
  31. -- Table `zagadkibazadb`.`odpowiedz`
  32. -- -----------------------------------------------------
  33. CREATE TABLE IF NOT EXISTS `zagadkibazadb`.`odpowiedz` (
  34. `idodpowiedz` INT(11) NOT NULL AUTO_INCREMENT,
  35. `tresc` VARCHAR(45) NULL DEFAULT NULL,
  36. `punkty` INT NULL DEFAULT 0,
  37. `prawidlowa` INT NULL DEFAULT 0,
  38. `zagadka_idzagadka` INT(11) NULL,
  39. PRIMARY KEY (`idodpowiedz`),
  40. INDEX `fk_odpowiedz_zagadka1_idx` (`zagadka_idzagadka` ASC),
  41. CONSTRAINT `fk_odpowiedz_zagadka1`
  42. FOREIGN KEY (`zagadka_idzagadka`)
  43. REFERENCES `zagadkibazadb`.`zagadka` (`idzagadka`)
  44. ON DELETE NO ACTION
  45. ON UPDATE NO ACTION)
  46. ENGINE = InnoDB;
  47.  
  48.  
  49. -- -----------------------------------------------------
  50. -- Table `zagadkibazadb`.`gracz`
  51. -- -----------------------------------------------------
  52. CREATE TABLE IF NOT EXISTS `zagadkibazadb`.`gracz` (
  53. `idgracz` INT(11) NOT NULL AUTO_INCREMENT,
  54. `nazwa` VARCHAR(15) NULL DEFAULT NULL,
  55. `haslo` VARCHAR(10) NULL DEFAULT NULL,
  56. `ostatni_wynik` VARCHAR(45) NULL DEFAULT 0,
  57. `ostatnio_grano` DATE NULL,
  58. PRIMARY KEY (`idgracz`))
  59. ENGINE = InnoDB;
  60.  
  61.  
  62. -- -----------------------------------------------------
  63. -- Table `zagadkibazadb`.`wynik`
  64. -- -----------------------------------------------------
  65. CREATE TABLE IF NOT EXISTS `zagadkibazadb`.`wynik` (
  66. `idwynik` INT(11) NOT NULL AUTO_INCREMENT,
  67. `gracz_nazwa` VARCHAR(45) NULL DEFAULT NULL,
  68. `numer_zagadki` INT NULL DEFAULT 0,
  69. `liczba_punktow` INT NULL DEFAULT 0,
  70. `data` DATE NULL,
  71. `odpowiedz_idodpowiedz` INT(11) NULL,
  72. `gracz_idgracz` INT(11) NULL,
  73. PRIMARY KEY (`idwynik`),
  74. INDEX `fk_wynik_odpowiedz1_idx` (`odpowiedz_idodpowiedz` ASC),
  75. INDEX `fk_wynik_gracz1_idx` (`gracz_idgracz` ASC),
  76. CONSTRAINT `fk_wynik_odpowiedz1`
  77. FOREIGN KEY (`odpowiedz_idodpowiedz`)
  78. REFERENCES `zagadkibazadb`.`odpowiedz` (`idodpowiedz`)
  79. ON DELETE NO ACTION
  80. ON UPDATE NO ACTION,
  81. CONSTRAINT `fk_wynik_gracz1`
  82. FOREIGN KEY (`gracz_idgracz`)
  83. REFERENCES `zagadkibazadb`.`gracz` (`idgracz`)
  84. ON DELETE NO ACTION
  85. ON UPDATE NO ACTION)
  86. ENGINE = InnoDB;
  87.  
  88.  
  89. SET SQL_MODE=@OLD_SQL_MODE;
  90. SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS;
  91. SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS;
Pyton_000
Wybij sobie to z głowy raz na zawsze. Po to jest Baza Danych żeby z niej korzystać.
markonix
Id zostaw w spokoju, a dodaj sobie kolumnę np. "number" (int, unsigned, not null i może być z kluczem unique) i zadbaj o odpowiednią wartość samodzielnie.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.