Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Mysql_problem z Duplicate entry '1' for key 1"
Forum PHP.pl > Forum > Bazy danych > MySQL
JarekBednarskii
Witam,

Jestem tu nowy więc proszę o nieco wyrozumiałości. Siedzę amatorsko nad php i mysql'em ( tzw. "samoucek"). Mam problem - pracuje z pewną książką i po wpisaniu skryptu ( skrypt rozumiem ale nie wiem gdzie leży błąd) i wywołaniu skryptu w preglądarce mam błąd : " Duplicate entry '1' for key 1". To zapewne z mysql.

a oto skrypt :

  1. <?php
  2. //polaczenie z serwerem mysql
  3. $connect=mysql_connect("localhost","root","jarek") or die ("Sprawdz polaczenie z serwerem");
  4.  
  5. //uaktywnienie odpowiedniej bazy danych
  6. mysql_select_db("moviessite");
  7.  
  8. // wstawianie danych do tabeli "movie"
  9. $insert="INSERT INTO movie (movie_id, movie_name, movie_type, ".
  10. "movie_year, movie_leadactor, movie_director) ".
  11. "VALUES (1, 'Szybcy i Wsciekli', 2, 2002, 2, 3), " .
  12. "( 2, 'Titanic',3, 1998, 6, 4), " .
  13. "( 3,'Katyn', 3, 2007, 4, 5)";
  14. $results=mysql_query($insert) or die(mysql_error());
  15.  
  16. //wstawianie danych do tabeli movietype
  17. $type="INSERT INTO movietype(movietype_id, movietype_label)" .
  18. "VALUES (1, 'Science-fiction'), " .
  19. "(2, 'Dramat'), " .
  20. "(3, 'Przygoda'), " .
  21. "(4, 'Horror'), " .
  22.  "(5, 'Komedia'), " .
  23.  "(6, 'Akcja'), " .
  24.  "(7, 'Obyczajowy'), " .
  25.  "(8, 'Wojenny'), ";
  26. $results=mysql_query($type) or die (mysql_error());
  27.  
  28. //wstawianie danych do tabeli people
  29. $people="INSERT INTO people(people_id, people_fullname, " .
  30. "people_isactor, people_isdirector) " .
  31. "VALUES (1, 'Jim Carrey', 1, 0), " .
  32. "(2, 'Bruce Willys', 1, 0), " .
  33. "(3, 'Steven Spilberg', 0, 1), " .
  34. "(4, 'Kevin Costner', 1, 0), " .
  35. "(5, 'Quantino Tarantino', 0, 1), " .
  36. "(6, 'Mike Judge', 0, 1)";
  37. $results=mysql_query($people) or die (mysql_error());
  38. echo "Dane zostaly wstawione poprawnie!";
  39. ?>


Gdzie tkwi problem. Bardzo proszę o porady. Dziękuję z góry i pozdrawiam
dr_bonzo
Pokaz jeszcze kod SQL tworzacy tabele
JarekBednarskii
Tworzenie tych tabel....

<?php
// polaczenie z serwerem MySQL, dla parametrów jaro i hasla kurs
$connect=mysql_connect("localhost", "root", "jarek")or die (mysql_error());

// tworzenie bazy danych jesli nie isnieje
$create=mysql_query("CREATE DATABASE IF NOT EXISTS moviessite") or die (mysql_error());

//wybierz nowo-utworzona baze danych
mysql_select_db("moviessite");

//tworzenie tabli movie
$movie="CREATE TABLE movie (
movie_id int(11) NOT NULL auto_increment,
movie_name varchar(255) NOT NULL,
movie_type tinyint(2) NOT NULL default 0,
movie_year int(4) NOT NULL default 0,
movie_leadactor int(11) NOT NULL default 0,
movie_director int(11) NOT NULL default 0,
PRIMARY KEY (movie_id),
KEY movie_type (movie_type,movie_year)
)";

$results=mysql_query($movie) or die (mysql_error());

//tworzenie tabeli movie_type

$movietype="CREATE TABLE movietype(
movietype_id int(11) NOT NULL auto_increment,
movietype_label varchar(100) NOT NULL,
PRIMARY KEY (movietype_id)
)";

$results=mysql_query($movietype) or die (mysql_error());

//tworzenie tabeli people
$people="CREATE TABLE people(
people_id int(11) NOT NULL auto_increment,
people_fullname varchar(255) NOT NULL,
people_isactor tinyint(1) NOT NULL default 0,
people_isdirector tinyint(1) NOT NULL default 0,
PRIMARY KEY (people_id)
)";

$results=mysql_query($people) or die (mysql_error());
echo "Poprawnie utworzono baze danych filmów!";
?>
envp
skoro id masz autoincrement i pk to dawaj w miejsce id "null" jak wstawiasz...

Btw. wyczyść tabele ;]
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-2024 Invision Power Services, Inc.