Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [MYSQL] INSERT INTO
Wojtekss
post 8.01.2009, 15:58:33
Post #1





Grupa: Zarejestrowani
Postów: 20
Pomógł: 0
Dołączył: 30.12.2008

Ostrzeżenie: (0%)
-----


Mam takie polecenie do bazy:

INSERT INTO Oceny SET ID_UCZNIA='SELECT ID_UCZNIA FROM Osoba, Uczen WHERE Osoba.ID_OSOBA=Uczen.ID_OSOBA AND imie=''Jan'' AND nazwisko=''Kowalski''', ID_PRZEDMIOTU='1', data='2008.05.05', ocena='5,5'

Dlaczego wpisuje mi do tabeli Oceny... ID_UCZNIA=0 ? zamiast prawidlowego ID?

Po wpisaniu do bazy tylko:
SELECT ID_UCZNIA FROM Osoba, Uczen WHERE Osoba.ID_OSOBA=Uczen.ID_OSOBA AND imie='Jan' AND nazwisko='Kowalski'

wypisuje mi prawidlowe ID_UCZNIA
Go to the top of the page
+Quote Post
nospor
post 8.01.2009, 16:11:31
Post #2





Grupa: Moderatorzy
Postów: 36 455
Pomógł: 6292
Dołączył: 27.12.2004




przeciez ty do ID wkladasz TEKST, ktory jest zapytaniem. A skoro wkladasz tekst to mysql konwertuje go na int i ma 0

Jak chcesz do inserta wlozyc cos z selecta to skorzystaj z tej skladni:
http://dev.mysql.com/doc/refman/5.1/en/insert-select.html


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
Wykrywacz
post 8.01.2009, 16:31:11
Post #3





Grupa: Zarejestrowani
Postów: 726
Pomógł: 20
Dołączył: 8.12.2005
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


NIE
Cytat
INSERT INTO Oceny SET ID_UCZNIA='SELECT ID_UCZNIA FROM Osoba, Uczen WHERE Osoba.ID_OSOBA=Uczen.ID_OSOBA AND imie=''Jan'' AND nazwisko=''Kowalski''', ID_PRZEDMIOTU= '1', data='2008.05.05', ocena='5,5'


A

  1. INSERT INTO Oceny SET ID_UCZNIA=(SELECT ID_UCZNIA FROM Osoba, Uczen WHERE Osoba.ID_OSOBA=Uczen.ID_OSOBA AND imie='Jan' AND nazwisko='Kowalski'), ID_PRZEDMIOTU=1,
  2. DATA='2008.05.05',
  3. ocena='5,5'


To co próbowałeś zrobić to wsadzić NAPIS
'SELECT ID_UCZNIA FROM Osoba, Uczen WHERE Osoba.ID_OSOBA=Uczen.ID_OSOBA AND imie=''Jan'' AND nazwisko=''Kowalski'''

w do bazy danych gdzie pole jak wnioskuje z nazwy masz typu INT.
A to ponieważ dając w '' wsadzasz mu tekst.

A jeżeli chcesz wsadzić kolejne zapytanie to musisz je wrzucić w nawias, aby się wykonało i dopiero po jego wykonaniu wsadziło się w SET

Ten post edytował Wykrywacz 8.01.2009, 16:31:37
Go to the top of the page
+Quote Post
Wojtekss
post 8.01.2009, 16:40:06
Post #4





Grupa: Zarejestrowani
Postów: 20
Pomógł: 0
Dołączył: 30.12.2008

Ostrzeżenie: (0%)
-----


dzieki za pomoc;)
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 25.04.2024 - 08:34