Avko 14.11.2016 16:19
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

Gjoreski 14.11.2016 16:41
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

zxz 14.11.2016 17:12
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 ;

Avko 14.11.2016 19:43
Predmet:Re: Mysql If Exists

preslozeno za mene. neznam gdje bi uopce tu proceduru stavio u p.h.p. kod ili negdje drugdje?

zxz 14.11.2016 19:53
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.

Avko 14.11.2016 20:47
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

zxz 14.11.2016 23:29
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.

Avko 15.11.2016 11:43
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

zxz 15.11.2016 14:40
Predmet:Re: Mysql If Exists

Eto jeli mnogo bolje nego na bazi to rjesavati?

Avko 15.11.2016 15:38
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