Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [SQL]UPDATE z mozliwoscia "dodawania" string
Forum PHP.pl > Forum > Przedszkole
kaźmirz
Chce zrobic zapytanie ktore doda mi do juz istniejacego wpisu pewna wartosc tekstowa.

ID | value
--------------------
1 | 234,432,555,
2 | 333,555,666,
--------------------

i chce teraz dodac do value (gdzie ID=2) jakis tekst/liczbe itp. np. "999,", zeby w rezultacie tabela wygladala tak:

ID | value
--------------------
1 | 234,432,555,
2 | 333,555,666,999,
--------------------

Kombinowalem troche z tym zapytaniem i wymyslilem takie cos:
  1. UPDATE `spis_numerow` SET `value`=`value`.'999,' WHERE `ID`=2

Czy to zapytanie jest poprawne? Czy ta kropka w sql dziala na takiej samej zasadzie jak w PHP (laczy stringi)?

I jesli okaze sie ze to zapytanie jest OK, to jak w takim razie zrobic odwrotnie? Tak aby usunac czesc "999," z wartosci kolumny values?
Jest na to jakis sposob, czy trzeba uzyc dwoch zapytan?
wookieb
  1. UPDATE `spis_numerow` SET `value`=CONCAT(value, '999,') WHERE `ID`=2
kaźmirz
A jest odwrotnosc tej funkcji, tak aby usuwala z value np. to 999, ?
wookieb
Przejrzyj to... http://dev.mysql.com/doc/refman/5.0/en/string-functions.html
kefirek
  1. UPDATE `spis_numerow` SET `value`=REPLACE(value, '999', '') WHERE `ID`=2
kaźmirz
Cytat(kefirek @ 31.01.2011, 19:01:44 ) *
  1. UPDATE `spis_numerow` SET `value`=REPLACE(value, '999', '') WHERE `ID`=2

A nie jest to czasami zbyt ryzykowne?
Bo jesli bede chcial usunac "1," - to usunie mi wszystkie wpisy, ktore sie koncza na "1,", czyli np. 311, 221, 11, itp.

EDIT: Hehe pomylka w cytowaniu winksmiley.jpg
Crozin
Zacznijmy może od tego byś napisał co to w ogóle ma być. Bo wygląda to jakbyś chciał w jednej kolumnie przechowywać n ID encji z relacji jeden-do-wielu, a takie coś jest kompletnie pozbawione sensu (chyba, że jest to w formie cache'a).
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.