Re: Problém s MYSQL
Ondrej Koala Vacha
koala na fi.muni.cz
Čtvrtek Říjen 10 14:13:15 CEST 2002
On Thu, 10 Oct 2002, Filip Procházka wrote:
> Mám MySQL 3.23.41 pod linuxem a následující tabulku
> ---------------------------------------------------
> CREATE TABLE Planovani (
> ID bigint(20) NOT NULL auto_increment,
> CASOD timestamp(14),
> CASDO timestamp(14),
> POZNAMKA longtext,
> BARVA int(11),
> POZICE tinyint(4),
> LOCK_USER_ID bigint(20),
> TYP_INDEX tinyint(4),
> PRIMARY KEY (ID),
> UNIQUE ID (ID)
> );
>
> INSERT INTO Planovani VALUES ( '76', '20020101000000', '20021031180000',
> 'xxxxxx', '8421504', '100', '0', '4');
> ---------------------------------------------------
>
> Když provedu na tuto tabulku následující query:
> update Planovani set pozice='500' where id='76'
> pak by tato query měla logicky nastavit sloupec s názvem "pozice" z
> původnich 100 na 500 v řádku kde sloupec ID má hodnotu 76
> To proběhne v pořádku
> Jenže mysql asi obsahuje chybu nebo nevím ... protože sloupec CASOD coz je
> timestamp se změní taky i když s výše uvedenou query nemá naprosto nic
> společného, tedy kromě toho že je ve stejné tabulce.
> Konkrétně mě změnil sloupec CASOD na 20021010132035, zajimavé, že CASDO
> zůstal nezměněn.
>
> Neví někdo v čem by mohl být problém ?
>
pozice mate definovanou jako tinyint(4), coz je integer cislo v rozsahu
0-127. Jako integer jsou i dalsi sloupce LOCK_USER_ID a TYP_INDEX, kam
ovsem davate retezcove konstanty. Pak musi probehnout konverze (tusim ze
dle manualu ala perl), ale pokud nevite co delate, tak se o konverzi
nepokousejte a zadavejte ciselne hodnoty.
--
Ondrej Koala Vacha
Další informace o konferenci Databases