Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Uniwersalna konstrukcja do insert//update
ActivePlayer
post 28.01.2005, 18:33:45
Post #1





Grupa: Przyjaciele php.pl
Postów: 1 224
Pomógł: 40
Dołączył: 6.07.2004
Skąd: Wuppertal

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


Chodzi mi o to, jak połączyc te 2 zapytania w jedno...

mam formularz, jezeli wysylam do niego ID to pobiera z bazy dane, jesli nie, pokazuje sie pusty,

po wypełnienu chce dodac do bazy i zawsze pisaliem

  1. <?php
  2.  
  3. if($id!='')
  4. {
  5. //edycja, zapytanie z UPDATE
  6. }
  7. else
  8. {
  9. dodanie, zapytanie z INSERT
  10. }
  11.  
  12. ?>


chodzi mi o to jak połączyc to w jedno zapytanie... czyli jesli mamy podane id, to edytuje, jesli nie, to dodaje, jestem pewny ze mysql ma takie mozliwosci, i duzo więkrze...

pozdro ~~
Go to the top of the page
+Quote Post
Vertical
post 28.01.2005, 19:08:01
Post #2





Grupa: Zarejestrowani
Postów: 848
Pomógł: 0
Dołączył: 7.07.2004
Skąd: Wrocław

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


Możesz w zapytaniu użyć if/then:
  1. IF tabela1.kolumna1 != '' THEN UPDATE(...)
  2. [ELSE INSERT(...)]
Go to the top of the page
+Quote Post
ActivePlayer
post 28.01.2005, 23:24:04
Post #3





Grupa: Przyjaciele php.pl
Postów: 1 224
Pomógł: 40
Dołączył: 6.07.2004
Skąd: Wuppertal

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


eh, nie o takie zapytanie mi chodzilo... czekam dalej, moze ktos cos wymysli snitch.gif
Go to the top of the page
+Quote Post
nospor
post 10.08.2005, 10:22:27
Post #4





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




hihi, trochę późno ale lepiej poźno niż wcale (dopiero teraz przypadkiem natrafilem na ten temat).

MOżesz użyć ON DUPLICATE KEY UPDATE:
Cytat
If you specify the ON DUPLICATE KEY UPDATE clause (new in MySQL 4.1.0), and a row is inserted that would cause a duplicate value in a UNIQUE index or PRIMARY KEY, an UPDATE of the old row is performed. For example, if column a is declared as UNIQUE and contains the value 1, the following two statements have identical effect:

mysql> INSERT INTO table (a,b,c) VALUES (1,2,3)
    -> ON DUPLICATE KEY UPDATE c=c+1;

mysql> UPDATE table SET c=c+1 WHERE a=1;

The rows-affected value is 1 if the row is inserted as a new record and 2 if an existing record is updated.
http://dev.mysql.com/doc/mysql/en/insert.html

jest również REPLACE:
http://dev.mysql.com/doc/mysql/en/replace.html

pamiętaj: manual to Twój przyjaciel

pozatym nie to forum. PRzenoszę z php


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

"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

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 Wersja Lo-Fi Aktualny czas: 31.07.2025 - 02:12