Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: UNIQUE CONCAT
Forum PHP.pl > Forum > Bazy danych > MySQL
rgrg2
mam problem w mysql
nie wiem jak zrobić nie dublujący się wynik działania CONCAT

  1. $zapytanie = "UPDATE tabelalinks SET
  2. kolumnaQ=CONCAT_WS('|','$kolB',kolumnaQ),
  3. kolumnaL=CONCAT_WS('|','$kolL',kolumnaL),
  4. kolumnaT=CONCAT_WS('|','$kolT',kolumnaT),
  5. kolumnaU=CONCAT_WS('|','$kolU',kolumnaU) WHERE kolumnaL='$kolL'";
  6.  
  7. mysql_query($zapytanie);


w php przy tablicach używam

  1. $abc[$i] = implode("|" , array_unique(explode("|",$abc[$i])));


a jak to zapisać w zapytaniu sql ?
wookieb
Proszę wstawić bbcode
nospor
1) Co trzymasz w tych kolumnach i dlaczego tak?
2) Co do problemu:
musisz użyc IF w mysql. jesli kolumna nie zawiera tekstu, który próbujesz łączyc, to łącz, jak zawiera to nie łącz.
http://dev.mysql.com/doc/refman/5.0/en/con...-functions.html
http://dev.mysql.com/doc/refman/5.0/en/string-functions.html
rgrg2
dzięki za informacje, że w mysql takie coś jak IF istnieje
w dalszym ciągu nie wiem jak takie if wkomponować poprawnie do zapytania UPDATE z CONCAT_WS
zmienne $kolB,$kolL,$kolT,$kolU zawierają informacje w txt, csv które w pętli php ładuje do bazy przez insert

wymyśliłem obejście tego problemu:
1/ odczytanie wiersza o szukanym url w mysql
2/ wykonanie unique na zmiennych zawierajcych dane z mysql, na tablicach php
3/ update wyników do bazy

$kolB,$kolumnaL zawierają adresy url

chyba, że załaduje dane z csv do tymczasowej bazy i wykonam
połączenie w inny sposób właśnie patrzę do jakiegoś opisu
jest takie coś jak INNER JOIN, czy NATURAL JOIN, złączenia tabel
albo GROUP_CONCAT, GROUP BY
nie zajmowałem się jeszcze tymi zagadnieniami w mysql
chce w mysql trzymać bazę linków z opisami, żeby kolumny przy dodawaniu z zewnętrznego pliku, dodawały nowe informacje i oddzielały znakiem | do istniejącego rekordu lub dodawały nowy jeśli w bazie nie ma podanego url
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.