Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [SQL][PHP] Pomoc w zapytaniu
Forum PHP.pl > Forum > Przedszkole
Spyder
  1.  
  2. $insert = mysql_query("INSERT INTO auta VALUES(NULL, '".$res2['id']."', '".$res3['operation_id']."', '".$regno."','".$res3['type']."','".$res3['operation_date']."','".$res3['status']."', NULL) SELECT reg_no FROM auta WHERE reg_no <> '".$regno."'") OR DIE(mysql_error());
  3.  


Witam mam takie zapytanie ale nie moge sobie z nim poradzic mam wstawic te datne z INSERT tylko wtedy kiedy reg_no nie istnieje w tej tabeli do ktorej wstawiam. To zapytanie mi nie dziala. Prosze o pomoc.
Fifi209
Jakoś nie rozumiem zbytnio, zamieszałeś.

Jeżeli masz problem z bazą to zacznijmy od tego, że dajesz jej strukturę.

Zrozumiałem tak:

dodajesz rekord do tabeli jeżeli jakieś pole nie ma jeszcze takiej wartości tak? (jeżeli tak to daj na to pole unique i po sprawie)
Spyder
OK jak by INSERT obslugiwal WHERE tak jak SELECT to by moje zapytanie wygladalo tak:

  1. $insert = mysql_query("INSERT INTO auta VALUES(NULL, '".$res2['id']."', '".$res3['operation_id']."', '".$regno."','".$res3['type']."','".$res3['operation_date']."','".$res3['status']."', NULL) WHERE reg_no <> '".$regno."'") OR DIE(mysql_error());


Wiec jak mam utworzyc to zapytanie poprawnie dla INSERTA? Musze przepisac sporo rekordow z jednej tabeli do 2 i je pozmieniac wiec musze miec takie zapytanie.
Fifi209
zrób normalnego inserta, nie przejmując się reg_no

  1.  
  2. $x = mysql_quert('TWOJ INTERT');
  3.  
  4. if ($x == true) {
  5. // rekord dodany
  6. }else{
  7. // reg_no już istnieje
  8. }


A w na pole w bazie danych reg_no daj indeks unique...
Spyder
Teraz mi sie zatrzymuje na rekordzie i wyswietla:

Duplicate entry 'LU52CYB' for key 'reg_no'

Nie da sie zrobic z WHERE?questionmark.gif?
Fifi209
Cytat(Spyder @ 12.08.2009, 16:48:36 ) *
Teraz mi sie zatrzymuje na rekordzie i wyswietla:

Duplicate entry 'LU52CYB' for key 'reg_no'

Chyba o to chodziło nie? Abyś miał tam unikalne wartości.

Cytat(Spyder @ 12.08.2009, 16:48:36 ) *
Nie da sie zrobic z WHERE?questionmark.gif?

Chyba nie. winksmiley.jpg Nigdy się nad tym nie zastanawiałem.
Spyder
Nie ma sie zatrzymac tylko pominac i nie dodawac a reszte dodac.
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.