MYSQL BUG ?

David Janko djanko na infoware.cz
Neděle Duben 2 18:50:15 CEST 2000


Diky,
  zkusil jsem, precetl a  pochopil - i kdyz nechapu, proc to takhle blbe udelali.
Protoze to vsak kvuli mne asi nepredelaji, tak hledam jine reseni. Zkusil jsem:
alter table t1 modify User  varchar(32) BINARY;
Po te uz pri porovnani sice chape, ze '' a '          ' neni to same, nicmene
stejne pri vlozeni nove hodnoty prevede mezery na prazdny retezec.  Ptam se tedy:

1. Je nejak vubec mozne donutit mysql, aby se chovala "normalne", tj. ukladala do
varchar polozky to, co ji zadam a pak to taky tak porovnavala ?
2. Lze takovou modifikaci (jako je treba BINARY) pouzit az v SQL dotazu (a jak) a
nebo je to mozne pouze pri CREATE ?

Diky moc.
David Janko.

Honza Pazdziora wrote:

> On Sat, Apr 01, 2000 at 09:02:00PM +0000, David Janko wrote:
> > Zdravim vsechny,
> >   vcera vecer jsem zjistil u mysql hroznou vec - pokud udelam select a
> > do WHERE dam sloupec = 'prazdne nebo bile znaky' tak mi vybere vsechny
> > zaznamy, kde v tomto sloupci jsou jakekoliv bile znaky nebo je tam
> > prazdny string !!! Pro logovani (chech user&password) je to hruza a
> > mozna nekde bezpecnostni dira jako prase ...
>
> Je to feature. Zkuste si
>
>         select id, length(user) from t1
> a
>
>         http://www.mysql.com/Manual_chapter/manual_Reference.html#String_types
>
> a vse bude zrejme.
>
> --
> ------------------------------------------------------------------------
>  Honza Pazdziora | adelton na fi.muni.cz | http://www.fi.muni.cz/~adelton/
>    .project: Perl, DBI, Oracle, MySQL, auth. WWW servers, MTB, Spain.
> ------------------------------------------------------------------------



Další informace o konferenci Test