Autor Zpráva
adamico
Profil
Zdravím,

tento kód mi v pohode funguje:
INSERT INTO $autor VALUES 
     (null,null,'$list')"


avšak akonáhle ho zmením takto:
INSERT IF NOT EXISTS INTO $autor VALUES 
     (null,null,'$list')"

tak už nefunguje.. Vie mi niekto poradť ako vyriešiť tento problém ? Alebo vie niekto ako sa dá nahradiť príkaz INSERT IF NOT EXISTS ? Lebo REPLACE nefunguje..
nightfish
Profil
takováto syntaxe není možná...
zřejmě sháníš
INSET INTO ... ON DUPLICATE KEY UPDATE ...
http://dev.mysql.com/doc/refman/5.0/en/insert-on-duplicate.html
kletely
Profil
adamico
Možno google by ti pomohol.
http://www.xaprb.com/blog/2005/09/25/insert-if-not-exists-queries-in-m ysql/
souki
Profil
adamico
a nehledáš jenom UNIQUE klíč?
adamico
Profil
souki
a nehledáš jenom UNIQUE klíč?

neviem :).. moje vedomosti z databáz sú veľmi nízke, ja som len chcel, aby sa mi do tabulky nezadal ten istý údaj niekoľko krát lebo potom ked si dám vypísať tabulku, tak aby tam nebol tri razy ten istý údaj.
Keeehi
Profil *
zkus toto
INSERT IF NOT EXISTS INTO $autor (jmeno_prvniho_sloupce,jmeno_druheho_sloupce,jmano_tretiho_sloupce) VALUES 
     (null,null,'$list')"

nebo
REPLACE INTO $autor (jmeno_prvniho_sloupce,jmeno_druheho_sloupce,jmano_tretiho_sloupce) VALUES  (null,null,'$list')

u replace musí být třetí sloupec PRIMARY KEY
adamico
Profil
Keeehi

nefunguje, hádže chybu..


s REPLACE som to skúšal, ale to tiež nefunguje.. ako nechápem.. Uvádzam celý kód:

<?
do {
     @$spojeni = MySQL_Connect("localhost", "user", "pass");
     if (!$spojeni):
          echo "Nepodarilo sa pripojit k MySQL.<BR>\n";
          break;
     endif;

     MySQL_Select_DB("crzsdubova_sk");

 $result="CREATE TABLE IF NOT EXISTS $autor (
poradi int not null auto_increment,
autor varchar(40) null,
citat text not null,
primary key(poradi)
)";

mysql_query($result) or die(mysql_error());

     $hlaska = "<br><h3>Užívateľ nebol pridaný do priateľov !</h3><BR>\n" ;
     
     if(!$citat):
         echo"Chýba užívateľ \n".$hlaska;
         break;
     endif;



     @$vysledek = MySQL_Query("INSERT INTO $autor VALUES 
     (null,null,'$citat')");
    

     if (!$vysledek):
         echo "Došlo k chybe pri spracovaní dotazu v databazi.<BR>\n";
         break; 
     else: 
         echo "Užívateľ bol pridaný medzi priateľov<br>\n";
     endif;


} while (false);
include "menu.php"; 
?>
sicario
Profil
1) co je to za konstrukci do { ... } while (false); ?
2) INSERT IF NOT EXIST jsem nikde nevidel, ale jestli to dobre chapu, hledas INSERT IGNORE, ktere v pripade duplicity unique sloupce neprovede nic (ani nezahlasi chybu).

Ted se koukam na ten zdrojovy kod a prilis netusim o co ti jde, zkus to popsat slovy.
adamico
Profil
sicario

Nezostavolval som to ja:
http://www.builder.cz/art/php/citaty.html

Pokiaľ tam dám INSERT IGNORE, tak to aj tak pridáva ten údaj.. Neviem ako mám zadať údaj (počítam že pri create table), aby bol $citat unique.
Kajman_
Profil *
Index můžete definovat při vytváření tabulky i později viz.
http://dev.mysql.com/doc/refman/5.0/en/create-index.html
adamico
Profil
Kajman_
vôbec nepoznám syntax sql, nemohol by si mi prosím ťa napísať rovno celý kód ktorý by v mojom prípade spravil unique index z $citat ? ďakujem..

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: