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