Dziwne zachowanie SELECT?
Amigo - 20-03-2006 01:30
Dziwne zachowanie SELECT?
Posiadam bazę ok 60 tys. książek, które dodawane były w 2 etapach, 1 z nich to 55 tys. pozycji dodany przy początku tworzenia bazy. Baza posiada index "id", książki również posiadają swój unikalny numer, zapisany w tabeli jako "nr" (jest to zmienna text, ponieważ niektóre książki posiadają numer np. 5232T, a reszta jest normalnym ciągiem cyfr np. 48321). W phpmyadminie wykonanie zapytania:
SELECT * FROM `new2` WHERE `nr` = '49202'
powoduje wyświetlenie się komunikatu: MySQL zwrócił pusty wynik (zero rekordów). To samo zapytanie przy zmienionym "nr" na wartość pow. 55 tys. daje dobry efekt, książka o tym numerze jest wyświetlana. To samo dotyczy pól "autor", "tytuł" itp.
W formularzu na stronie www zapytanie to jest wykonywane za każdym razem poprawnie. Nie wiem juz jak to ugryźć, bowiem mam ok 1000 pozycji książkowych, które muszę usunąć z bazy (wszystkie z podstawowych 55 tys. pozycji, posiadam ich "nr"). Zapytanie:
DELETE FROM `new2` WHERE `nr`= '57322'
powoduje sytuację opisaną wyżej. Zmieniłem typ danych dla "nr" na INT, zapytanie zadziałało, jednak kilkaset książek z "nr" jak 2345T zostało "obciętych" o literkę "T" i niektóre "nr" się wtedy zdublowały, więc trzeba szukać dalej. Jeśli ktoś ma jakiś pomysł jak to ugryźć, proszę o pomoc.
Noel - 21-03-2006 01:00
Użytkownik Amigo napisał:
> Posiadam bazę ok 60 tys. książek, które dodawane były w 2 etapach, > 1 z nich to 55 tys. pozycji dodany przy początku tworzenia bazy. Baza > posiada index "id", książki również posiadają swój unikalny > numer, zapisany w tabeli jako "nr" (jest to zmienna text, ponieważ > niektóre książki posiadają numer np. 5232T, a reszta jest normalnym > ciągiem cyfr np. 48321). W phpmyadminie wykonanie zapytania: > > SELECT * FROM `new2` WHERE `nr` = '49202' >
Może po cyfrach są jakieś spacje?
SELECT * FROM `new2` WHERE `nr` LIKE '49202%'
-- Tomek "Noel" B.
Amigo - 21-03-2006 01:00
> Może po cyfrach są jakieś spacje? > > SELECT * FROM `new2` WHERE `nr` LIKE '49202%'
Żadnych spacji na pewno nie ma, sprawdziłem również z LIKE na wszystkie sposoby, nawet '%49202%'. Zmiana typu danych na INT pomogła, ale tak, jak pisałem wszystkie litery "T" zostały usunięte, a tak nie może być. Może jakiś inny typ danych?
zanotowane.pldoc.pisz.plpdf.pisz.pleffulla.pev.pl
|
[help] Illustrator CS - =?ISO-8859-2?Q?znikn=B1=B3_Selection_?==?ISO-8859-2?Q?Tool_=28V=29?=
[mysql 4.0] SELECT t1.id, t1.foo FROM t1 oraz COUNT t2 w jednym zapytaniu.
SELECT MAX(nazwaPola) FROM tabela WHERE .... i ORA-01405: pobran? warto?ci? kolumny jest NULL
=?iso-8859-2?q?select_sum_i_dwie_tabele..._b=B3=EAdna_agregac ja?=
=?iso-8859-2?Q?=5BMySql=5D_-_select_po_5_rekordow_mniejssych_i_wi=EAkszych?=
=?iso-8859-2?Q?=5BMySql=5D_Select_wed=B3ug_nazwy_pola?=
=?ISO-8859-2?Q?[mysql]_Nie_potrafi=EA_zgrupowa=E6_selecta_(proste)?=
=?ISO-8859-2?Q?[MS_SQL]_update_wielu_p=F3l_na_raz_z_selecta?=
Wstawianie nowego wiersza w przypadku jego braku podczas SELECT w PostgreSQL
[pgsql] jak =?ISO-8859-2?Q?zrobi=E6_taki_select_=3F?=
zanotowane.pldoc.pisz.plpdf.pisz.plshanti.opx.pl
Cytat
Decede mihi sole - nie zasłaniaj mi słonca. Gdy kogoś kochasz, jesteś jak stworzyciel świata - na cokolwiek spojrzysz, nabiera to kształtu, wypełnia się barwą, światłem. Powietrze przytula się do ciebie, choćby był mróz, a ty masz w sobie tyle radości, że musisz ją rozdawać wokoło, bo się w tobie nie mieści Hoc fac - tak czyń. A tergo - od tyłu; z tyłu. I czarne włosy posiwieją. Safona |
|