SQL baze podataka - Sponzor: Baze-Podataka.net MySQL, MSSQL, Oracle, Access, ODBC. Ako imate problem brže i preciznije ćete dobiti odgovor ako priložite strukturu tabela ili skript koji kreira tabele i puni ih test podacima umesto što to problem opisujete samo rečima. Sponzor: Baze-Podataka.net - Blog o bazama podataka |
![]() |
|
Alati teme | Način prikaza |
![]() |
#1 |
profesionalac
Professional
Datum učlanjenja: 15.06.2005
Lokacija: Chicago IL, USA
Poruke: 209
Hvala: 12
12 "Hvala" u 11 poruka
![]() |
![]() Kako je skoro napomenuto da se podsticu zanimljive teme, setih se i ja jedne. :-)
Iskusni vuci ovo verovatno znaju, ali evo za one koji nisu: Komparacija stringova sa operaterom "=" je case-insensitive u MySQL-u jos od verzije 3.23.neke! Dakle, upiti: Kôd:
SELECT * FROM tabela WHERE stringPolje = 'nesto'; SELECT * FROM tabela WHERE stringPolje = 'NESTO'; Nekada davno imao sam koshmar sa autentikacijom korisnika zbog ovoga... ![]() Pa eto za buduca pokolenja... ;-) |
![]() |
![]() |
![]() |
#2 |
133t
Master
|
![]() moras da naznacis da je polje case sensitive: COLLATE latin1_general_cs
Kôd:
CREATE TABLE `test` ( `testString` VARCHAR( 128 ) CHARACTER SET latin1 COLLATE latin1_general_cs NOT NULL ) TYPE = MYISAM Kôd:
INSERT INTO `test` ( `testString` ) VALUES ('dpt' ), ('DPT'); Kôd:
mysql> select * from test; +------------+ | testString | +------------+ | dpt | | DPT | +------------+ 2 rows in set (0.00 sec) Kôd:
mysql> select * from test where testString='dpt'; +------------+ | testString | +------------+ | dpt | +------------+ 1 row in set (0.00 sec) prilikom autentifikacije za passworde koristi md5 - nema boli glava. Poslednja izmena od kodi : 07. 04. 2007. u 07:30. |
![]() |
![]() |
![]() |
#3 |
profesionalac
Professional
Datum učlanjenja: 15.06.2005
Lokacija: Chicago IL, USA
Poruke: 209
Hvala: 12
12 "Hvala" u 11 poruka
![]() |
![]() Bravo kodi (eto vuka)! Eto, sad imamo i resenje.
![]() Inace, nekada davno problem uopste nije bio u lozinkama (gde stoji opaska za MD5()), vec u tome da tabela sa UNIQUE KEY `username` nije dopustala unos vrednosti koje nema u bazi... ![]() |
![]() |
![]() |
![]() |
#4 |
Goran Pilipović
Sir Write-a-Lot
|
![]() Najjednostavniji nacin, bez collation, je da koristis BINARY. Cak ne moras VARCHAR polje da oznacis kao BINARY, dovoljno je da u upitu napises:
Kôd:
SELECT * FROM tabela WHERE BINARY stringPolje = 'nesto'; SELECT * FROM tabela WHERE BINARY stringPolje = 'NESTO';
__________________
Goran Pilipović a.k.a. Ugly Fingers Bradley f.k.a. bluesman I don't always know what I'm talking about but I know I'm right! |
![]() |
![]() |
![]() |
Alati teme | |
Način prikaza | |
|
|
![]() |
||||
Tema | Početna poruka teme | Forum | Odgovori | Poslednja poruka |
case insensitive URLs | dee | Regular expression i htaccess | 7 | 11. 04. 2007. 16:17 |
Cudan case-sensitivity problem | zextra | SQL baze podataka - Sponzor: Baze-Podataka.net | 3 | 30. 04. 2006. 02:07 |
Problem sa cAse sEnsitivE pretragom и ћирилицом | LyoShi | SQL baze podataka - Sponzor: Baze-Podataka.net | 2 | 09. 04. 2006. 19:50 |
Case study: Marketing strategija za prodaju web komponenti | boccio | Marketing i SEO | 21 | 15. 08. 2005. 16:42 |