2016-04-07 22 views
3

Aşağıdaki sütunlara sahip bir tablo türlerim var: Kimlik, Ad, Tür. Tablo yaklaşık 300 satır ile doldurulur. satırların biri:MySQL basit sorgu sıfır satırları döndürür

SELECT * FROM Types WHERE Name = 'BMW' 

Ancak, aşağıdaki sorgu hiçbir şey döndürür::

ID Name Type 
------------------ 
1  BMW  S 1000 RR 

aşağıdaki sorgu bu satır döndürür

SELECT * FROM Types WHERE Type = 'S 1000 RR' 

Tipi fazladan boşluk vardır, ve Ad ve Türün veri türleri tam olarak aynıdır (varchar 255, utf8_unicode_ci). Buna ne sebep olabilir?

MySQL, InnoDB kullanıyorum. Kullanılması phpMyAdmin Ben, tam olarak aynı sonuçları elde böylece sütun adlarında hiçbir yazım hatası en ...

+0

Ben çok şaşırtıcı sorgu çalıştığını bulmak her iki durumda da. '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' – apokryfos

+3

@apokryfos bu doğru değil. Bunların Niether Ayrılmıştır ve bunların niçin backlink –

+0

@HankyPanky gerektirir [bu sayfa] (https://dev.mysql.com/doc/refman/5.7/en/keywords.html) aksi iddia gibi görünüyor – apokryfos

cevap

3

deneyin

Döşeme nedeniyle olduğunu eminim: hiç Tabloyu doldur, satır başına bir textfile okuyorum. Yeni satır karakteri sorun oldu, phpMyAdmin'in gözatma tablosu görünümünde görünmez, ancak tek bir sıra düzenlerken onu gördüm.

UPDATE Types SET Type = REPLACE(REPLACE(Type, '\r', ''), '\n', ''); 

yorumlarınız için How to remove new line characters from data rows in mysql?

sayesinde herkes Bulundu:

aşağıdaki sorgu

benim sorun giderildi.

+1

Sanırım çözülmüş olarak işaretlerseniz daha iyi olur, yani aynı sorunla birlikte gelen sıradaki kişi de yardımcı olabilir :-) – rafaelcpalmeida

+0

2 gün bitmeden bunu yapamazdım, yapmak istedim hemen ... Asap yapacak. – Inigo

+1

Çok teşekkürler, çekicilik gibi çalışır. Son 2 hafta bu konu için mücadele ettim. Çok teşekkür ederim. +1 – Venkat

0

Bunu ben sorunu buldum bu

SELECT * FROM Types WHERE TRIM(Type) = 'S 1000 RR' 
+0

Ne yazık ki, sonuç yok – Inigo

0

Bunun gibi değil. Sizin tablo adı ve sütun isimleri hepsi iyi ve sorgu da doğru o/p veriyor: TABLO Türleri CREATE gitmek ( kimlik int, Ad varchar (3), Tip varchar (9));

Türleri INTO
INSERT (ID, Ad, Tür) DEĞERLER gitmek (1, 'BMW', 'S 1000 RR')

SELECT * FROM Types WHERE Type = 'S 1000 RR' 
+0

Sonunda onu hapseden yeni bir çizgi oldu. Detaylar için cevabımı görün. – Inigo

+0

okok..i aslında ssms deniyordu –