115750
14.12.2015, 12:49:37
Mam tabelę typu:
Id, Tekst:
1, aaa:tekst
2, bbb:tekst
3, teskt
4, teskt
5, ccc:tekst
itd. Oczywiście tekst w każdym wierszu jest inny.
Czy można jednym zapytaniem zaktualizować te wiersze, dla których kolumnie Tekst występuje przedrostek 3 liter i dwukropka - tak, żeby usunąć ten przedrostek i otrzymać w wyniku tabelę:
1, tekst
2, tekst
3, teskt
4, teskt
5, tekst
Crozin
14.12.2015, 12:57:27
Najłatwiej byłoby skorzystać tutaj z wyrażeń regularnych. Jeżeli nie możesz pozwolić sobie na doinstalowanie tego do MySQL (http://stackoverflow.com/questions/986826/how-to-do-a-regular-expression-replace-in-mysql) możesz przygotować prosty skrypt, który pobiera dane z bazy, aktualizuje je przy pomocy wyrażeń np. w PHP, a następnie zapisuje dane do bazy.
Riggs
14.12.2015, 13:10:59
Jeśli znak ":" może wystąpić tylko po tym przedrostu to można pokombinować z LOCATE, SUBSTR, CONCAT itp ale pewnie szybciej będzie to napisać w PHP.