Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Problem z utworzeniem tabel
Forum PHP.pl > Forum > Bazy danych > MySQL
saperek25
Witam!
Mam pewien problem chce stworzyć baże i utworzyć tabelę oto kod:

  1. <?php
  2. //połączenie z bazą
  3. $connect = mysql_connect("localhost", "root", "xxxxxx") or
  4. die ("Sprawdź połączenie z serwerem.");
  5.  
  6. // utwórz bazę danych, jeśli jeszcze nie istnieje
  7. $create = mysql_query("CREATE DATABASE IF NOT EXISTS moviesite")
  8.  
  9. //wybierz nowo utworzoną bazę
  10. mysql_select_db("moviesite");
  11.  
  12. //utwórz tabelę "movie"
  13. $movie = "CREATE TABLE movie (
  14. movie_id int(11) NOT NULL auto_increment,
  15. movie_name varchar(255) NOT NULL,
  16. movie_type tinyint(2) NOT NULL default 0,
  17. movie_year int(4) NOT NULL default 0,
  18. movie_leadactor int(11) NOT NULL default 0,
  19. movie_director int(11) NOT NULL default 0,
  20. PRIMARY KEY (movie_id),
  21. KEY movie_type (movie_type.movie_year)
  22. )";
  23.  
  24. $result = mysql_query($movie)
  25. or die (mysql_error());
  26.  
  27. // utworz tabele "movietype"
  28. $movietype = "CREATE TABLE movietype (
  29. movietype_id int(11) NOT NULL auto_increment,
  30. movietype_label varchar(100) NOT NULL,
  31. PRIMARY KEY (movietype_id)
  32. )";
  33.  
  34. $result = mysql_query($movietype)
  35. or die (mysql_error());
  36.  
  37. //utwórz tabelę "people"
  38. $people = "CREATE TABLE people (
  39. people_id int(11) NOT NULL auto_increment,
  40. people_fullname varchar(255) NOT NULL,
  41. people_isactor tinyint(1) NOT NULL default 0,
  42. people_isdirector tinyint(1) NOT NULL default 0,
  43. PRIMARY KEY (people_id)
  44. )";
  45.  
  46. $result = mysql_query($people)
  47. or die (mysql_error());
  48.  
  49. echo "Poprawnie utworzono bazę danych filmów!";
  50. ?>


ale wyskakuje komunikat:

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'auto increment. movie_name varchar(255) NOT NULL. movie_type tinyint(2) NO' at line 2

OK poradziłem sobie ale pojawił się błąd przy uzupełnianiu oto kod:

  1. <?php
  2. //połączenie z bazą
  3. $connect = mysql_connect("localhost", "root", "xxx")
  4. or die ("Sprawdź połączenie z serwerem.");
  5.  
  6. //uaktywnij odpowiednią bazę
  7. mysql_select_db("moviesite");
  8.  
  9. //wstaw dane do tabeli "movie"
  10. $insert = "INSERT INTO movie (movie_id, movie_name, movie_type, ".
  11. "movie_year, movie_leadactor, movie_director)".
  12. "VALUES(1, 'Bruce Wszechmogący', 5, 2003, 1, 2),".
  13. "(2, 'Życie biurowe', 5, 1999, 5, 6),".
  14. "(3, 'Wielki Kanion', 2, 1991, 4, 3)";
  15. $result = mysql_query($insert)
  16. or die (mysql_error());
  17.  
  18. //wstaw dane do tabeli "movietype"
  19. $type = "INSERT INTO movietype (movie_id, movietype_label)".
  20. "VALUES (1, 'Science-fiction'),".
  21. "(2, 'Dramat'),".
  22. "(3, 'Przygoda'),".
  23. "(4, 'Wojenny'),".
  24. "(5, 'Komedia'),".
  25. "(6, 'Horror'),".
  26. "(7, 'Akcja'),".
  27. "(8, 'Dla dzieci')";
  28. $result = mysql_query($type)
  29. or die (mysql_error());
  30.  
  31. //wstaw dane do tabeli people
  32. $people = "INSERT INTO people (people_id, people_fullname, ".
  33. "people_isactor, people_isdirector)".
  34. "VALUES(1, 'Jim Carrey', 1, 0),".
  35. "(2, 'Tom Shadyac', 0, 1),".
  36. "(3, 'Lawrence Kasdan', 0, 1),".
  37. "(4, 'Kevin Kline', 1, 0),".
  38. "(5, 'Rn Livingston', 1, 0),".
  39. "(6, 'Mike Judge', 0, 1)";
  40. $result = mysql_query($people)
  41. or die (mysql_error());
  42.  
  43. echo "Dane zostały wstawione poprawnie!";
  44. ?>


i błąd:

Unknown column 'movie_id' in 'field list'
Rid
  1. movie_type tinyint(2) NOT NULL DEFAULT 0
a powinno być
  1. movie_type tinyint(1) NOT NULL DEFAULT 0


polecam:zajrzeć tutaj
saperek25
dalej to samo
skowron-line
  1. CREATE TABLE movie (
  2. movie_id int(11) NOT NULL AUTO_INCREMENT,
  3. movie_name varchar(255) NOT NULL,
  4. movie_type tinyint(2) NOT NULL DEFAULT 0,
  5. movie_year int(4) NOT NULL DEFAULT 0,
  6. movie_leadactor int(11) NOT NULL DEFAULT 0,
  7. movie_director int(11) NOT NULL DEFAULT 0,
  8. PRIMARY KEY (movie_id),
  9. KEY movie_type (movie_type, movie_year)
  10. )


Edit:
Cytat
Unknown column 'movie_id' in 'field list'

i teraz pytanie do Ciebie

  1. INSERT INTO movietype (movie_id, movietype_label)".
  2. "VALUES (1, 'Science-fiction'),".
  3. "(2, 'Dramat'),".
  4. "(3, 'Przygoda'),".
  5. "(4, 'Wojenny'),".
  6. "(5, 'Komedia'),".
  7. "(6, 'Horror'),".
  8. "(7, 'Akcja'),".
  9. "(8, 'Dla dzieci'
  10. )
robisz inserta do tabeli movietype a moje pytanie brzmi gdzie w tej tabeli masz kolumne movie_id questionmark.gif
  1. CREATE TABLE movietype (
  2. movietype_id int(11) NOT NULL AUTO_INCREMENT,
  3. movietype_label varchar(100) NOT NULL,
  4. PRIMARY KEY (movietype_id)
  5. )
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.