Registrace nového uživatele     Návod     Kluby     Archív  Lopuchu     Lopuch.cz  

Zelený je lopuch,
fotbal to je hra...

Lopuch.cz

Jméno:
Heslo:
Podpora LCD:
 
Archiv klubu Database (mysql,...) [ŽP: neomezená] (kategorie Programování) moderuje melkor_unlimited.
  Nastavení klubu     Nastavení práv     Homepage     Anketa     Přítomní     Oblíbené     Lopuch     Kategorie  
autor: 
text: 
vyplnit a 
Help
   
[ 414 ] <Novější  <<<Nejnovější  Nejstarší>>>  Starší>  
anywherehome 29.12.2005 23:05  268
AL3X [265]: tak sem to přesně zkopíroval, ale zas "Query error", nic víc nevypisuje, asi to mysql.wz.cz nemá povolený
a dokonce sem to s tím num_rows už předtím taky zkoušel
AL3X [267]: tabulka už je navržená, musela by se s novou provázat........to sme původně chtěli udělat, ale....
asi na to dneska....
díky
al3x 29.12.2005 22:59  267
A ze to je prasarna pridavat sloupce pro dny snad ani rikat nemusim :)

Zkus udelat novou tabulku, ktera bude vypadat treba
hraci_dny:
id_hrace integer, datum date;

A bude mit radek pro kazdyho hrace a datum.
al3x 29.12.2005 22:57  266
Jaj, zapomnel jsem z toho "sem" udelat odkaz :)
http://mirrors.inway.cz/manual/en/function.mysql-num-rows.php
al3x 29.12.2005 22:57  265
Tak se koukni sem.

A pro zacatek zkus tohle:
$sql="DESCRIBE TABLE hraci date_1_4_2005";
$result=mysql_query($sql,$link) or die("Query error");
print mysql_error($link);
if(mysql_num_rows($result)==0){
   echo("Column does not exist");
   $sql="alter table hraci add date_1_4_2005 blob";
   $result=mysql_query($sql,$link) or die("Query error");
   print mysql_error($link);

}
anywherehome 29.12.2005 22:49  263
AL3X [262]: jak říkám, du na to přes php, takže nic víc to nevypisuje
používám to na automatický zařazení dnu jako názvu sloupce
radši zkopíruju celej kód:
$sql="DESCRIBE TABLE hraci date_1_4_2005";
$result=mysql_query($sql,$link) or die("Query error");
if($result==0):
echo("Column does not exist");
$sql="alter table hraci add date_1_4_2005 blob";
$result=mysql_query($sql,$link) or die("Query error");
endif;

za případný triviální začátečnický chyby se omlouvám
al3x 29.12.2005 22:45  262
anywherehome [259]: Je tam neco jako mysql_error(), coz by ti melo napsat co je v tom dotazu spatne.
al3x 29.12.2005 22:44  261
anywherehome [257]: Tak nejak, jen je tu jeste riziko, ze kdyz se ten script pusti 2x, tak se muze stat, ze oba zjisti, ze sloupec chybi a pokusi se ho vlozit. Pak ti u druhy instance toho scriptu zarve db, ze se pokousis vlozit sloupec, ktery uz tam je. (Vlozila ho ta prvni instance.)

Vazne, jsi si jist, ze tohle vazne potrebujes?? K cemu to pouzivas?
anywherehome 29.12.2005 22:43  260
mach [258]: jo, jasně, to sem samo udělal
anywherehome 29.12.2005 22:43  259
nějak mi to háže "Query error"
mach 29.12.2005 22:40  258
no jeste nekde musis poslat ten dotaz na MySQL pres mysql_query; a taky se odnaucit tu alternativni endif-syntaxi, protoze je tak zastarala, ze s ni pralidi mlatili mamuty.
anywherehome 29.12.2005 22:36  257
AL3X [255]:
jdu na to přes php
takže stačí?
$sql="DESCRIBE TABLE moje_tabulka muj_sloupec";
if ($sql==0):
echo("sloupec neexistuje");
endif;
al3x 29.12.2005 22:28  255
anywherehome [254]: Jak koukam na mysql, tak ta to primo neumi. Muzes si udelat fci (ale to jde az v novy verzi), nebo delat to venku scriptem.
Nevim, jakym jazykem k tomu pristupujes, ale jde ti v zasade o nasledujici:

DESCRIBE TABLE tab sloup;
kdyz dotaz vrati 0 radku{
ALTER TABLE tab ADD sloup integer;
}


Na co to chces pouzit? Je to vhodny tak maximalne na administratorsky scripty, kdyby to mela delat bezna klientska aplikace, tak je to spatny reseni:
1] Aplikace musi mit prava na zmenu tabulek, coz neni uplne idealni.
2] Pravdepodobne by to znamenalo, ze mas spatne navrzenej db model.
anywherehome 29.12.2005 21:50  254
a co takhle příkaz typu "vytvoř sloupec v tabulce, pokud neexistuje?"
už sem prohledal net, ale pro mě je to totálně nesrozumitelný
anywherehome 29.12.2005 13:09  253
njn,dík
pokusim se vyřešit jinak
tessien Tessien Of course slavery is the worst thing - that ever happened. But maybe... 29.12.2005 13:04  252
Takovehle veci se obvykle resi pomoci triggeru (netusim ale, jestli je MySQL uz umi) - udela se trigger, kterej reaguje na INSERTy, UPDATEy a DELETEy v tabulce1 a podle toho upravi hodnoty v tabulce2.

Nicmene obecne vzato neni moc dobra praktika, mit v DB takhle duplikovana data - je potreba zvazit, ze tam tu denormalizovanou formu skutecne potrebujes.

[ 414 ] <Novější  <<<Nejnovější  Nejstarší>>>  Starší>  

(c) 2001-2011 Lopuch.cz   
Kontakt