Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL] Wstawianie do bazy gdy jeszcze nie ma takiego rekoru
lorak110786
post
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'
  1. CREATE TABLE IF NOT EXISTS `router` (
  2. `rout_id` int(11) NOT NULL AUTO_INCREMENT,
  3. `rout_aktywne` int(11) NOT NULL,
  4. `rout_naprawione` int(11) NOT NULL,
  5. `rout_host` varchar(20) NOT NULL,
  6. `rout_komunikat` varchar(60) NOT NULL,
  7. `rout_time` int(11) NOT NULL,
  8. UNIQUE KEY `rout_id` (`rout_id`)
  9. ) ENGINE=MyISAM DEFAULT CHARSET=latin2 AUTO_INCREMENT=12 ;

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
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 15.09.2025 - 03:08