![]() |
![]() |
![]() ![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 45 Pomógł: 0 Dołączył: 17.01.2012 Ostrzeżenie: (0%) ![]() ![]() |
próbuję zrobić triggera na zapis do bazy:
Taki kod się wykonuje, ale przy próbie zapisu do tabeli klienta dostaje info, że tabela inserted nie istnieje. Czy MySql jest w ogóle coś takiego takiego tabela inserted, wiem , że MSSQL tak. Generalnie chodzi o trzymanie w bazie haseł zahaszowanych funkcją md5. Czy podejście z triggerem jest dobre? Czy może w MySql należy to jakoś inaczej zrobić? |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 711 Pomógł: 127 Dołączył: 5.07.2008 Skąd: Łódź Ostrzeżenie: (0%) ![]() ![]() |
Po co trigger skoro można bezpośrednio w insercie dać md5 ?
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 778 Pomógł: 84 Dołączył: 29.07.2010 Skąd: Gliwice / Pławniowice Mistrz niezmordowanej klawiatury. Ostrzeżenie: (20%) ![]() ![]() |
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 6 476 Pomógł: 1306 Dołączył: 6.08.2006 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Pomijając fakt, że MD5 jest tutaj nic nie warte, to takie coś powinno być robione po stronie aplikacji, nie bazy danych - niepotrzebnie hasło w formie jawnej musi wędrować pomiędzy aplikacją a bazą, zwiększając liczbę miejsc z których może zostać przechwycone.
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 45 Pomógł: 0 Dołączył: 17.01.2012 Ostrzeżenie: (0%) ![]() ![]() |
Ok, co do poprawy inserted na `inserted` nie pomogło, dalej przy wstawianiu insert do bazy pluje się, że tej bazie nie ma tabeli inserted.
Pewnie ta tabelka jest przechowywana w innym schemacie, bazie, może wiecie gdzie jej szukać? Co do tego, że można by zrobić to po stronie aplikacji to oczywiście się zgodzę i pewnie tak zrobię, dzięki za sugestię. Od razu pytanko odnośnie wstawiania danych : ustawiłam pesel jako INT(11) i próbuję wstawić dokładnie numer pesel składający się z 11 cyfr, a SQL krzyczy, że OUT of range, w czym jest problem, wie może ktoś? Ten post edytował newmala 8.02.2012, 14:47:30 |
|
|
![]()
Post
#6
|
|
Grupa: Moderatorzy Postów: 36 559 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Ale co ci strzeliło do głowy, by w ogóle latać do jakiejś tabeli INSERTED? Chcesz pobrać ID aktualnie przetwarzanego klienta? No to przecież tę informację udziela trigger - zapraszam do manuala bo jest to tam bardzo dokładnie wyjaśnione.
|
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 45 Pomógł: 0 Dołączył: 17.01.2012 Ostrzeżenie: (0%) ![]() ![]() |
Jak możesz trochę jaśniej to napisz kilka słów o tym.
I co z tym peselem INT(11) dlaczego nie przyjmuje numeru o 11 cyfrach? Ten post edytował newmala 8.02.2012, 14:51:48 |
|
|
![]()
Post
#8
|
|
Grupa: Moderatorzy Postów: 36 559 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Kilka słów o tym? No dobra:
manual to jest takie coś, gdzie znajdują się informację o danej rzeczy którą używasz - któtko rzecz mówiąc jest to dokumentacja z kupą przykładów. Manual dla mysql znajduje się pod adresem: http://dev.mysql.com/doc/ zas infor o TRIGGERACH tu: http://dev.mysql.com/doc/refman/5.0/en/create-trigger.html Cytat I co z tym peselem INT(11) dlaczego nie przyjmuje numeru o 11 cyfrach? yyy, bo INT 11 nie oznacza ile przyjmie cyfr. To też jest wyjaśnione w manualu http://nospor.pl/int11-kontra-int.html Do przechowywania pesel użyj CHAR |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 45 Pomógł: 0 Dołączył: 17.01.2012 Ostrzeżenie: (0%) ![]() ![]() |
Ok, rozumiem, że forum jest po to aby udawadniać ludziom, że nie umieją czytać manuala.
Więc ja przyznaję się nie zbyt wiele z tego rozumiem stąd zadaje pytania. Gdzie znajdę dane w MySQL przy próbie zapisu do danych do bazy, bo przecież muszą być wstępnie przechowane, zanim zostaną zapisane? Może wiesz dlaczego wstawiając do pola INT(11) liczbę 11 cyfrową dosteję Warning - OUT OF RANGE? |
|
|
![]()
Post
#10
|
|
Grupa: Moderatorzy Postów: 36 559 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Cytat Ok, rozumiem, że forum jest po to aby udawadniać ludziom, że nie umieją czytać manuala. Słuchaj, wspomniałem o manualu, a ty po 3 minutach piszesz kolejnego posta. odliczajac czas na przeczytanie posta, napisanie odpowiedzi, pozostaje raptem minuta na to, by cokolwiek w tym manualu przeczytać. WNiosek: nie zagladales w ogole.Cytat Gdzie znajdę dane w MySQL przy próbie zapisu do danych do bazy, bo przecież muszą być wstępnie przechowane, zanim zostaną zapisane? I ci to wyjasniłem - trigger udostępnia te informacje.Cytat z manuala do ktorego ci odeslalem: Cytat You can refer to columns in the subject table (the table associated with the trigger) by using the aliases OLD and NEW. OLD.col_name refers to a column of an existing row before it is updated or deleted. NEW.col_name refers to the column of a new row to be inserted or an existing row after it is updated. Cytat Może wiesz dlaczego wstawiając do pola INT(11) liczbę 11 cyfrową dosteję Warning - OUT OF RANGE? Ty w ogole czytasz co sie do ciebie pisze? Bo to, że do manuala nie zagladasz już wiemy.... przecież ci wyjasnilem, ze 11 nie oznacza zakresu liczby. Podalem ci linka do arta, który to dokladnie wyjaśnia.
|
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 778 Pomógł: 84 Dołączył: 29.07.2010 Skąd: Gliwice / Pławniowice Mistrz niezmordowanej klawiatury. Ostrzeżenie: (20%) ![]() ![]() |
do zrób
nazwa_bazy.tabela zamiast samej nazwy tabeli |
|
|
![]()
Post
#12
|
|
Grupa: Moderatorzy Postów: 36 559 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
@toaspzoo przestan już... nie ma takiej tabeli jak INSERTED.... twoje "magia" nic na to nie poradzi.
|
|
|
![]()
Post
#13
|
|
Grupa: Zarejestrowani Postów: 45 Pomógł: 0 Dołączył: 17.01.2012 Ostrzeżenie: (0%) ![]() ![]() |
Ok, dzięki Kubusiu za naukę.
Postaram się więcej czytać. Niektórym niestety rzeczy przychodzą z trudnością i dlatego poszukuję tych odpowiedzi na forum - przedszkole. |
|
|
![]()
Post
#14
|
|
Grupa: Moderatorzy Postów: 36 559 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Cytat Niektórym niestety rzeczy przychodzą z trudnością i dlatego poszukuję tych odpowiedzi na forum - przedszkole. A niektórzy wymagają jedynie, by ci, którym starają się pomóc czytali to co się do nich pisze, a nie co minute bez namysłu strzelali postami.Napisałem ci po polsku o co chodzi z tym 11, podałem ci linka do arta, który to wyjaśniał (też po polsku), a ty nadal sie pytasz czemu dostajesz błąd. Niezależnie czy to przedszkole czy nie - wymagamy by czytano co sie do kogoś pisze. Poziom wiedzy nie jest akurat w tej kwesti żadnym wytłumaczeniem |
|
|
![]() ![]() |
![]() |
Aktualny czas: 25.09.2025 - 17:47 |