Oto, co chcę zrobić:
aktualna tabela:
+----+-------------+
| id | data |
+----+-------------+
| 1 | max |
| 2 | linda |
| 3 | sam |
| 4 | henry |
+----+-------------+
Tajemnicze zapytanie (coś w rodzaju "UPDATE table SET data = CONCAT(data, 'a')"
)
wynikowa tabela:
+----+-------------+
| id | data |
+----+-------------+
| 1 | maxa |
| 2 | lindaa |
| 3 | sama |
| 4 | henrya |
+----+-------------+
Otóż to! Muszę to zrobić w jednym zapytaniu, ale nie mogę znaleźć sposobu. Używam MySQL na bluehost (myślę, że jego wersja 4.1)
Dziękuję wszystkim.
sql
mysql
concatenation
concat
Fresheyeball
źródło
źródło
cat_id
to pole znakowe (varchar, tekst itp.) Czy numeryczne?Odpowiedzi:
To prawie wszystko, czego potrzebujesz:
Nie wiem, dlaczego miałbyś problemy, chociaż testuję to w wersji 5.1.41
źródło
concat
Funkcja w 4.1 wygląda tak samo - dev.mysql.com/doc/refman/4.1/en/...UPDATE table SET column_name=concat(column_name, 'string');
CONCAT z wartością null zwraca null, więc najłatwiejszym rozwiązaniem jest:
źródło
nie działa dla mnie.
części zamienne są
NULL
domyślnie, ale jegovarchar
źródło
przekonwertuj
NULL
wartości z pustym ciągiem, zawijając goCOALESCE
LUB
Zamiast tego użyj CONCAT_WS :
źródło
Rozwiązałem to. Okazuje się, że kolumna miała ograniczony zestaw znaków, które mogła zaakceptować, zmieniła go, a teraz zapytanie działa dobrze.
źródło
Nie mogłem tego rozwiązać. Składnia żądania była poprawna, ale po wykonaniu wystąpił błąd „0 linii”.
Rozwiązaniem było:
Ten zadziałał.
źródło
Możesz to zrobić:
pole = pole + wartość nie działa, gdy pole ma wartość null.
źródło