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

Náš Lopuch Vám
vytře zrak

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ší>  
king King Born to be king - ... 3.5.2006 00:57  371
insert into tabulka values ('http://takhle.to.myslis.cz/?')
nebo jako jestli ma MySQL datovy typ URL?? - nevim, koukni se do dokumentace, mel by tam byt nekde seznam datovych typu
bighead BIGHead Pořádáte akci, vyzkoušejte - naše moderátory 3.5.2006 00:54  370
jak do MySQL ulozim URL? Pokud to tedy jde...
tvx tvx Myslet si, že svět je JEN takový, jak - ho v daný čas můžeme pochopit je hloupé. 11.4.2006 13:11  363
aha, tak jsem si to musel naprogramovat s pomocí mysql_info a pojmenoval to mysql_matched_rows() ale tahle funkce by podle mě měla existovat!
tvx tvx Myslet si, že svět je JEN takový, jak - ho v daný čas můžeme pochopit je hloupé. 11.4.2006 12:49  362
jak zjistit, zdali se chytitl "update" ale třeba jenom narazil na to, že je po něm požadováno aby uložil shodný data co už v DB jsou?
Vtom případě vrací mysql%affected_rows() nulu...
Jediný co můžu je, předem poslat vždycky select s pododmínkou jestli bude co updatovat ale to je zdržení...
tvx tvx Myslet si, že svět je JEN takový, jak - ho v daný čas můžeme pochopit je hloupé. 6.4.2006 10:38  361
řešim vcelku zapeklitej problém.
uvažuju jak moc pujde automaticky a jak moc toho budu muset obsloužit ručně.
jde o spojování dvou tabulek na principu čehosi jako fulltextu...

to asi nepůjde co? joinovat nějak přes fulltext?
tvx tvx Myslet si, že svět je JEN takový, jak - ho v daný čas můžeme pochopit je hloupé. 4.4.2006 11:20  360
Uf, tak nakonec chyba byle uplne jinde a fakt to funguje jak pises, ja samozrejme celou dobu pracoval s jinym sloupcem...
V kazdem pripade ale od verze 4.1 nebo kolikto se TS prezentuje navenek uz jako formatovany datum.
Tu predstavu jedinecnosti u TS jsem mel snad z MSSQL nebo odkudto?, nekde to proste je soucasne cas+nejakej doplnek cinici z toho jedinecnej identifikator... a nebo jen moje fantazie :c]
al3x 4.4.2006 10:55  359
Timestamp a datetime jsou vlastne skoro stejny typy. Oba umi porovnavat na vsechny mozny formaty dat. Fakt, ze se jeden presentuje jako DD-MM-YYY hh:mm:ss a druhy YYYYMMDDhhmmss neni moc dulezity. Jediny zasadnejsi rozdil je v tom, ze timestamp ma defaultni hodnotu implicitne NOW().

I kdyby mel timestamp hodnoty na tisiciny sekundy, porad to neni dobry napad mit ho jako primary key (az na specialni pripady). Nahoda je svine a vzdycky se ti muze stat, ze se nahodou potkaji dve operace v jednu chvili. Navic s cim mensi pravdepodobnosti se bug vyskytuje, tim hur se ladi :)

Muzes sem dat vysledek: DESCRIBE tabulka; SELECT * FROM tabulka; a pak ty SELECTy, ktery se nad tim pokousis delat ty?
tvx tvx Myslet si, že svět je JEN takový, jak - ho v daný čas můžeme pochopit je hloupé. 4.4.2006 08:57  358
tim spis ale nechapu ze mi nefunguje select TS from table, nacteni jedne hodnoty do $TS a posleze delete from table where TS=$TS kdyz tobe to s tim datem funguje...
tvx tvx Myslet si, že svět je JEN takový, jak - ho v daný čas můžeme pochopit je hloupé. 4.4.2006 08:54  357
ajajaj, tak koukám, že jsem fakt s tim timestamp mimo... je to fakt jen do sekund a tedy NIKOLI jedinecny... nevim, kde jsem to sebral, to jsem si teda moh pekne zavarit... udelat z toho primary key...
tvx tvx Myslet si, že svět je JEN takový, jak - ho v daný čas můžeme pochopit je hloupé. 4.4.2006 08:50  356
asi budu muset přes ten timeformat, doufám, že přes to půjde použít i ten rozvoj na nižší úrovni než jsou sekundy... 9teď si nejsem jistej ale timestamp snad má právě ještě další desetiny, setiny atd... aby byl jedinečnej...)

on mi totiž formát timestamp funguje pro výstup přesně jako kdyby to byl ten tvuj datum datetime prostě ho to do něj při výstupu nějak automaticky překládá či co to, děje se to i v phpmyadminu...
al3x 4.4.2006 00:15  355
Pak teda mi to na verzi 4.0.25 funguje dobře a jestli to tobě tak nejde, tak bych zkusil ten vstupní formát přeformátovat funkcí date_format() - viz odkaz v 352.
mysql> create table dt2 (datum datetime, t tinytext);
Query OK, 0 rows affected (0.33 sec)

mysql> insert into dt2 (datum, t) values ('2006-01-02 12:00', 'b');
Query OK, 1 row affected (0.27 sec)

mysql> insert into dt2 (datum, t) values ('2006-01-01 12:00', 'a');
Query OK, 1 row affected (0.00 sec)

mysql> select * from dt2;
+---------------------+------+
| datum               | t    |
+---------------------+------+
| 2006-01-02 12:00:00 | b    |
| 2006-01-01 12:00:00 | a    |
+---------------------+------+
2 rows in set (0.00 sec)

mysql> select * from dt2 where datum="20060101120000";
+---------------------+------+
| datum               | t    |
+---------------------+------+
| 2006-01-01 12:00:00 | a    |
+---------------------+------+
1 row in set (0.00 sec)

mysql> 

al3x 4.4.2006 00:13  354
tvxPočkej.
Takže sloupec se jmenuje datum, je typu datetime (nikoliv timestamp) a ty chceš mít v podmínce porovnávání typu datetime s datem ve formátu "200604030160617", chápu to správně?
tvx tvx Myslet si, že svět je JEN takový, jak - ho v daný čas můžeme pochopit je hloupé. 3.4.2006 19:09  353
al3xdík za vzčerpávající odpověď, muj problém je, že mi moje verze 4.1, (dřív to bylo snad jak píšeš ty)
v tvé druhé tabulce pošle ven něco takovýho
+----------------+------+
| datum | t |
+----------------+-----------+
| 2006-04-03 19:06:20 | a |
| 2006-04-03 19:06:20 | b |
+----------------+-----------+

a já bych rád udělal
delete from mojetable where timestamp="20060403190617"
al3x 3.4.2006 18:17  352
tvxMoc si nejsem jist, na co se ptáš.
Jestli mluvíš o mysql a timestampem datový typ pole 'timestamp', tak podle něj jde selectovat i dotazy s 'lidským datem'. Viz:
+-------+---------------+------+-----+---------+-------+
| Field | Type          | Null | Key | Default | Extra |
+-------+---------------+------+-----+---------+-------+
| datum | timestamp(14) | YES  |     | NULL    |       |
| t     | tinytext      | YES  |     | NULL    |       |
+-------+---------------+------+-----+---------+-------+
2 rows in set (0.00 sec)

mysql> select * from dt;
+----------------+------+
| datum          | t    |
+----------------+------+
| 20060403190617 | a    |
| 20060403190625 | b    |
+----------------+------+
2 rows in set (0.00 sec)

mysql> select * from dt where datum > '2006-04-03 19:06:20 ' ;
+----------------+------+
| datum          | t    |
+----------------+------+
| 20060403190625 | b    |
+----------------+------+
1 row in set (0.00 sec)



Jestli přesto potřebuješ na vstupu nebo výstupu upravovat formát, pak to jde taky přes zabudované funkce. Např:
mysql> select date_format(datum, '%M %Y -- %r'), t from dt ;
+-----------------------------------+------+
| date_format(datum, '%M %Y -- %r') | t    |
+-----------------------------------+------+
| April 2006 -- 07:06:17 PM         | a    |
| April 2006 -- 07:06:25 PM         | b    |
+-----------------------------------+------+
2 rows in set (0.00 sec)


tvx tvx Myslet si, že svět je JEN takový, jak - ho v daný čas můžeme pochopit je hloupé. 3.4.2006 14:30  351
kterak dostat z databáze timestamp v takový tý klasický formě jen čísel kterážto pak jde používat v dotazech?
používám ho v logu jak key a rád bych podle toho dokázal mazat...

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

(c) 2001-2011 Lopuch.cz   
Kontakt