Centar za edukaciju-BiH



#1 14.11.2016 15:19
Avko Van mreze
Administrator
Registrovan od:28.05.2014
Postovi:4,807


Predmet:Mysql If Exists
ovo nikako da proradi:

IF EXISTS (SELECT * FROM voce WHERE ime='ananas')
{
UPDATE voce SET ukupno=(ukupno+1) WHERE ime='ananas'
}
ELSE
{
INSERT INTO voce VALUES('ananas',0)
};

greska:
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF EXISTS (SELECT * FROM voce WHERE ime='ananas')
{
UPDATE voce SET uku' at line 1

zivot je moja domovina.
↑  ↓

#2 14.11.2016 15:41
Gjoreski Van mreze
Administrator
Registrovan od:02.02.2009
Postovi:1,854


Predmet:Re: Mysql If Exists
nareda if exists mislam da se koristi samo za ptovera dali postoi neka baza ili pole u bazi ,neznam dali moze se koristiti u ovaj tvoj slucaj.
Probaj sa opcija count
na pr.
if (SELECT Count(ime) FROM voce WHERE ime='ananas')=0 then
INSERT INTO voce VALUES('ananas',0)
else
'ovde stavis neki update
end if
↑  ↓

#3 14.11.2016 16:12
zxz Van mreze
Administrator
Registrovan od:03.02.2009
Postovi:10,642


Predmet:Re: Mysql If Exists
If exist tako radi u proceduri.
Znaci moras kreirati proceduru.
PreuzmiIzvorni kôd (actionscript):
  1. delimiter $$
  2. create procedure select_or_insert()
  3. begin
  4.  IF EXISTS (SELECT * FROM voce WHERE ime='ananas') THEN
  5. UPDATE voce SET ukupno=(ukupno+1) WHERE ime='ananas';
  6.  ELSE
  7. INSERT INTO voce VALUES('ananas',0);
  8. END IF;
  9. end $$
  10. delimiter ;

Podrska samo putem foruma, jer samo tako i ostali imaju koristi od toga.
↑  ↓

#4 14.11.2016 18:43
Avko Van mreze
Administrator
Registrovan od:28.05.2014
Postovi:4,807


Predmet:Re: Mysql If Exists
preslozeno za mene. neznam gdje bi uopce tu proceduru stavio u p.h.p. kod ili negdje drugdje?
zivot je moja domovina.
↑  ↓

#5 14.11.2016 18:53
zxz Van mreze
Administrator
Registrovan od:03.02.2009
Postovi:10,642


Predmet:Re: Mysql If Exists
Samo pokreni i sama bi trebala da se zapise.
Naci ces je na toj baz u procedurama.
Mada ti ja nebih preporucio da tako radis.
Bolje je to rijesiti programskim jezikom u kome radis.
Ako je PHP onda rijesis u PHP ako pak radis Vb ili C++ aplikaciju onda tamo fino iscitas vrijednost pa na osnovu nje radis insert ili select.
Ja napr ne koristim ili pak trudim se da ne koristim na bazi cak ni relacijske veze a kamoli trigere i procedure.
Tesko je pri instalaciji i prenosenju.
To neka se pati administrator baze sa tim ako mu treba nesto.
Kod mene je daljinski upravljac od tv a ako neko hoce mijenjat kanale neka ustane ode na Tv pa promijeni hehehe.
Podrska samo putem foruma, jer samo tako i ostali imaju koristi od toga.
↑  ↓

#6 14.11.2016 19:47
Avko Van mreze
Administrator
Registrovan od:28.05.2014
Postovi:4,807


Predmet:Re: Mysql If Exists
hehehe tako ce i boti. fino cu ja iscitati sta mi treba pa sa if i else to urediti u phpu. javicu sta sam napravio
zivot je moja domovina.
↑  ↓

#7 14.11.2016 22:29
zxz Van mreze
Administrator
Registrovan od:03.02.2009
Postovi:10,642


Predmet:Re: Mysql If Exists
Vecina mislim da to radi sto ne razmislja racionalno.
Sto koristiti neki programski kod na bazi kad vec neki programski kod koristis.
Zasto ne u njemu.
Fino provjeris dali u bazi postoji podatak pa ako ne postoji dodas ga.
Podrska samo putem foruma, jer samo tako i ostali imaju koristi od toga.
↑  ↓

#8 15.11.2016 10:43
Avko Van mreze
Administrator
Registrovan od:28.05.2014
Postovi:4,807


Predmet:Re: Mysql If Exists
PreuzmiIzvorni kôd (Text):
  1. $imevoca="ananas";
  2. $query=mysql_query("SELECT * FROM voce WHERE ime = ' $imevoca ' ") or die(mysql_error());
  3.         if(mysql_num_rows($query)){
  4.                 //ako ime postoji uvecavamo ukupno za 1
  5.                 $queryUpdate='UPDATE voce SET ime="'.$imevoca.'",ukupno=(ukupno+1),datum=NOW() WHERE ime="'.$imevoca.'"';
  6.                 mysql_query($queryUpdate) or die(mysql_error());
  7.         }else{
  8.                 //ako ime ne postoji dodajemo ga
  9.                 $queryInsert='INSERT INTO voce (ime,ukupno,datum) VALUES("'.$imevoca.'",1,NOW())';     
  10.                 mysql_query($queryInsert) or die(mysql_error());
  11.         }
  12.         unset($query,$queryUpdate,$queryInsert); //praznjenje upita

evo ovo radi.
Ljepota programskog koda je u jednostavnosti i razumljivosti logike rada istoga, rekao bi netko
zivot je moja domovina.
Ovaj post je ureden 2 puta. Posljednja izmjena 15.11.2016 10:48 od strane Avko. ↑  ↓

#9 15.11.2016 13:40
zxz Van mreze
Administrator
Registrovan od:03.02.2009
Postovi:10,642


Predmet:Re: Mysql If Exists
Eto jeli mnogo bolje nego na bazi to rjesavati?
Podrska samo putem foruma, jer samo tako i ostali imaju koristi od toga.
↑  ↓

#10 15.11.2016 14:38
Avko Van mreze
Administrator
Registrovan od:28.05.2014
Postovi:4,807


Predmet:Re: Mysql If Exists
Citiraj zxz:
Eto jeli mnogo bolje nego na bazi to rjesavati?
ne samo da ****lje i jednostavnije nego i to sto na bazi neznam
zivot je moja domovina.
↑  ↓

Stranice (1):1


Sva vremena su GMT +01:00. Trenutno vrijeme: 11: 51 pm.