![]() |
![]() |
![]()
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 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Moderatorzy Postów: 36 559 Pomógł: 6315 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 |
|
|
![]()
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
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 |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 20 Pomógł: 0 Dołączył: 30.12.2008 Ostrzeżenie: (0%) ![]() ![]() |
dzieki za pomoc;)
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 5.10.2025 - 16:47 |