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):delimiter $$
create procedure select_or_insert()
begin
IF EXISTS (SELECT * FROM voce WHERE ime='ananas') THEN
UPDATE voce SET ukupno=(ukupno+1) WHERE ime='ananas';
ELSE
INSERT INTO voce VALUES('ananas',0);
END IF;
end $$
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):$imevoca="ananas";
$query=mysql_query("SELECT * FROM voce WHERE ime = ' $imevoca ' ") or die(mysql_error());
if(mysql_num_rows($query)){
//ako ime postoji uvecavamo ukupno za 1
$queryUpdate='UPDATE voce SET ime="'.$imevoca.'",ukupno=(ukupno+1),datum=NOW() WHERE ime="'.$imevoca.'"';
mysql_query($queryUpdate) or die(mysql_error());
}else{
//ako ime ne postoji dodajemo ga
$queryInsert='INSERT INTO voce (ime,ukupno,datum) VALUES("'.$imevoca.'",1,NOW())';
mysql_query($queryInsert) or die(mysql_error());
}
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 |