2012-12-16 3 views
0

문제가 있습니다. 해결 방법이 확실하지 않습니다. 그럼 난 사용자가 이러한 키를 삽입 할 수 있습니다 다음은 교체해야 문자열 열이 다른 테이블이Mysql - 여러 행을 하나의 행으로 대체하십시오.

 

    fk linkid link 
    1 1  www.stackoverflow.com 
    1 2  www.google.com 
    1 3  www.cnn.com 
    2 4  www.other.com 

:

는 링크가있는 테이블이 내 문제를 단순화합니다. L1과 마찬가지로 L {숫자}와 같은 키를 입력합니다. 내가 ID 1 그들과 합류 할 때 "L1은"그럼 내가 얻을 그래서

 

    id string_column 
    1 "Hi my first link is {L1]. More text {L1} {L1} {L3} {L2}" 
    2 "Go here: {L4}" 

.. linkID를 1로 대체해야이 : 내가 좀하고 싶습니다 무엇

 

    id linkid link     string_column 
    1 1  www.stackoverflow.com "Hi my first link is {L1]. More text {L1} {L1} {L3} {L2}" 
    1 2  www.google.com   "Hi my first link is {L1]. More text {L1} {L1} {L3} {L2}" 
    1 3  www.cnn.com   "Hi my first link is {L1]. More text {L1} {L1} {L3} {L2}" 

은 다음과 같습니다

 

    id string_column 
    1 "Hi my first link is www.stackoverflow.com. More text www.stackoverflow.com www.stackoverflow.com www.cnn.com www.google.com" 

mysql에서 이와 같은 SQL을 작성할 수 있습니까? 위에서 볼 수 있듯이 1 열을 대체해야하지만 여러 행의 값을 가져온 다음 ID 당 1 만 반환해야합니다.

시스템이 이미 설정되어 있기 때문에 설정을 변경할 수 없지만이 권한을 얻는 방법을 찾아야합니다.

답변

0

이 작업을 수행하는 유일한 방법은 모든 문장을 꺼내어 L에서 번호를 잘라내어 해당 링크를 검색하고 해당 링크로 모든 {L1}을 바꾸는 스크립트 일 것입니다. db를 새 문자열로 업데이트합니다.

+0

좋아, 나는 그것을 두려워했다. – Daniel

관련 문제