Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> INSERT lub UPDATE jeżeli istnieje
Raga
post
Post #1





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 6.12.2010

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


Witam,
Mam tabele o strukturze:
id - INT, Autoincrement
nazwa - VARCHAR
baza - TINYINT
data - DATE
wartosc - INT

Służy ona jako cache.
Czasami aktualizuje niektóre rekordy w cache-u i chciałbym by SQL myślał czy dany rekord usunąć i wstawić nowy, czy po prostu dodać (jeżeli ten nie istnieje).

Znalazłem informacje na temat ON DUPLICATE KEY UPDATE, jednak dane pole musi być PRIMARY bądź UNIQUE.

Natomiast u mnie unikalny rekord to taki, który ma identyczną nazwę i identyczną datę (jednocześnie). W przypadku tej samej daty, a różnych nazw i wicewersa dany rekord dla mnie nie jest unikalny. Czy można to jakoś załatwić przez SQL-a, czy muszę tworzyć własną logikę?
Go to the top of the page
+Quote Post
nospor
post
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Cytat
, który ma identyczną nazwę i identyczną datę (jednocześnie)
Przeciez mozesz zalozyc UNIQUE na dwa pola jednoczesnie.


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

"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
Raga
post
Post #3





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 6.12.2010

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


No, a SQL będzie traktował rekord unikalny w sposób data i nazwa jednocześnie (to co chcę), czy data lub nazwa jednocześnie (to czego się obawiam)?
Go to the top of the page
+Quote Post
nospor
post
Post #4





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Przeciez ci powiedzialem ze mozesz zalozyc UNIQUE z obu pól, wiec baza bedzie patrzyla przy takim UNIQUE jako calosc. Nie albo jedno albo drugie, tylko oba naraz.
Tylko masz zrobic jeden UNIQUE z obu pol a nie dwa UNIQUE na kazde pole osobno


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

"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
aart3k
post
Post #5





Grupa: Zarejestrowani
Postów: 72
Pomógł: 10
Dołączył: 2.02.2008
Skąd: Kraków

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


http://wisniadev.wordpress.com/2008/12/02/...rts-in-mysql-5/
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 Aktualny czas: 21.08.2025 - 16:15