Bosna i Hercegovina



#1 14.11.2016-15:19
Avko Offline
Administrator
Registrovan/a od: 28.05.2014-09:21
Komentari: 3,163


Subject: 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

Život je moja domovina.
↑  ↓

#2 14.11.2016-15:41
Gjoreski Offline
Super Moderator
Registrovan/a od: 02.02.2009-22:24
Komentari: 1,488


Subject: 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 Online
Administrator
Registrovan/a od: 03.02.2009-16:22
Komentari: 9,722


Subject: Re: Mysql If Exists
If exist tako radi u proceduri.
Znaci moras kreirati proceduru.
DownloadIzvorni kod (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 ;

Pozdrav
↑  ↓

#4 14.11.2016-18:43
Avko Offline
Administrator
Registrovan/a od: 28.05.2014-09:21
Komentari: 3,163


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

#5 14.11.2016-18:53
zxz Online
Administrator
Registrovan/a od: 03.02.2009-16:22
Komentari: 9,722


Subject: 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.
Pozdrav
↑  ↓

#6 14.11.2016-19:47
Avko Offline
Administrator
Registrovan/a od: 28.05.2014-09:21
Komentari: 3,163


Subject: 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
Život je moja domovina.
↑  ↓

#7 14.11.2016-22:29
zxz Online
Administrator
Registrovan/a od: 03.02.2009-16:22
Komentari: 9,722


Subject: 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.
Pozdrav
↑  ↓

#8 15.11.2016-10:43
Avko Offline
Administrator
Registrovan/a od: 28.05.2014-09:21
Komentari: 3,163


Subject: Re: Mysql If Exists
DownloadIzvorni kod (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
Život je moja domovina.
Ovaj komentar je mijenjan 2 puta. zadnja izmjena 15.11.2016-10:48 od strane Avko. ↑  ↓

#9 15.11.2016-13:40
zxz Online
Administrator
Registrovan/a od: 03.02.2009-16:22
Komentari: 9,722


Subject: Re: Mysql If Exists
Eto jeli mnogo bolje nego na bazi to rjesavati?
Pozdrav
↑  ↓

#10 15.11.2016-14:38
Avko Offline
Administrator
Registrovan/a od: 28.05.2014-09:21
Komentari: 3,163


Subject: Re: Mysql If Exists
Citat od zxz:
Eto jeli mnogo bolje nego na bazi to rjesavati?
ne samo da je bolje i jednostavnije nego i to sto na bazi neznam
Život je moja domovina.
↑  ↓

Stranice (1): 1


All times are GMT +01:00. Current time: 19.07.2018-01:12.