![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Nieautoryzowani Postów: 34 Pomógł: 1 Dołączył: 22.06.2009 Skąd: Koszalin/Poznań Ostrzeżenie: (0%) ![]() ![]() |
Mam dość skomplikowany problem:)
Otóż mam tabelę 'router'
Sprawa wygląda tak, że jest sobie skrypt który zbiera informacje o fałszywych trasach w routingu. Te informacje są wysyłane z routerów do skryptu co 15 minut. Gdy na jakimś routerze pojawi się fałszywa trasa, jest ona ciągle wysyłana do skryptu zbierającego informacje, ten z kolei dopisuje ją do bazy. Jeśli problem nie zostanie naprawiony z routera będą wciąż płynąć informacje o tej trasie. Nie ma sensu ich zatem dodawać po raz kolejny do bazy dopóki rout_naprawione nie zmieni wartości na '1' (a rout_naprawione zmieni się na '1' w momencie kiedy z tego routera przyjdzie pusta informacja - znaczy brak problemów) . Tyle o programie... Teraz pytanie: "Jak dodać do bazy tylko takie rekordy, których jeszcze nie ma"? Przykładowo w bazie są dwie warotści: (1, 0, 0, '01cwleszka.bp', '195.116.20.124 via 83.16.209.217 dev eth1', 1264118220), (2, 0, 1, '01cwleszka.bp', '87.204.0.82 via 83.16.209.217 dev eth1', 1264118220), Jeden rekord ma flagę naprawione na 0, a drugi na 1 załóżmy że do skryptu przychodzi teraz komunikat o błędzie: '01cwleszka.bp', '195.116.20.124 via 83.16.209.217 dev eth1' '02cwleszka.bp', 'default via 83.16.209.217 dev eth1' Chciałbym dodać do bazy tylko drugi komunikat (pierwszy już jest i ma status 'naprawione' na '0', więc nie potrzebujemy go dodawać). Bawiłem się z WHERE NOT EXIST, ale ciągle dostaję błąd składni. Mam nadzieję że jasno wyjaśniłem o co mi chodzi:) Ten post edytował lorak110786 3.02.2010, 21:46:55 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 15.09.2025 - 03:08 |