Wybierasz wartość literału ciągu '5'
dla każdego wiersza w Twojej tabeli:
select 5 from mytable_name;
I to działa dobrze. Ponieważ w SELECT
oświadczenie, które możesz wybrać:
- Odniesienie do kolumny,
- Dosłowna wartość, jak w twoim przypadku.
- Funkcja.
- wyrażenie wartości.
- Wybierz wyrażenie.
Zgodnie z definicją standardowego SQL:
Aktualizacja:
Jeśli jednak masz kolumnę z nazwą to liczba, tak jak w twoim przypadku, musisz ją zmienić, aby wybrać wartości w niej w następujący sposób:
SELECT `143` FROM Table1;
Spowoduje to zaznaczenie wszystkich wierszy w kolumnie 143
.
Ale to:
SELECT 143 FROM Table1;
Wybierze literał ciągu 143 dla każdego wiersza znalezionego w tabeli.
Pamiętaj, że: Jeśli to możliwe, staraj się nie nazywać tych kolumn w ten sposób, jest to zalecane i najlepszą praktyką, aby tego nie robić.
Pokaz SQL Fiddle
Aktualizacja 2:
Pamiętaj, że jeśli wybierzesz 143
lub '143'
, a nawet "143"
to wybierze wartość dosłowną 143
nie data kolumny. Poniższe są takie same:
SELECT 143 FROM Table1;
SELECT '143' FROM Table1;
SELECT "143" FROM Table1;
Wszystkie te SELECT
s nie wybierze danych w kolumnie, wybierze wartość dosłowną 143
nie dane kolumny. Zobacz to demo:
Demo
Musisz zmienić nazwę kolumny na dwa:
``
Tak:
SELECT `143` FROM table1;
Nie:
SELECT '143' FROM table1'
Podobnie jak to, co zrobiłem tutaj:
Właściwe demo