2016-06-01 4 views
0

그런 일을 할 수 있습니까?데이터를 삭제하지 않고 SQL 행을 업데이트

UPDATE news SET article_title="["+id+"]" + article_title; 

뉴스 테이블의 모든 행에 대해이 쿼리를 처리 할 수 ​​있습니까? 다음과 같은 기사 제목에 기사의 ID를 추가하고 싶습니다. [1000] StackOverFlow

친절에 감사드립니다!

+1

예 * 할 수는 있지만 왜 * 할 * 것입니까? 필요한 모든 데이터를 필요에 따라 깔끔하게 분리하면 언제든지 ID와 제목의 연결을 항상 얻을 수 있습니다. (그리고 매번 연결을 입력하지 않아도되는 것을 원한다면, 뷰를 생성하십시오.) –

+0

기본 MySQL 구문을 배우십시오. '+'는 문자열을 연결하지 않고 숫자를 더하는 것입니다. – Barmar

답변

1

예 그렇습니다 :

UPDATE news SET article_title=CONCAT('[',id,'] ',article_title); 

당신은 또한 자동으로이 업데이트 작업을 수행하는 테이블 news에 트리거를 추가 할 수 있습니다. 이 트리거가 INSERT 명령에서만 작동 것이라고

CREATE TRIGGER trg_news 
    BEFORE INSERT ON news 
    FOR EACH ROW 
    BEGIN 
     NEW.article_title = CONCAT('[',id,'] ', NEW.article_title); 
    END; 

참고 :이 같은 것입니다. 그 이유는 update의 경우 article_title을 구문 분석해야하므로 다음과 같이 끝나지 않게됩니다. [1] someName[1] someName

관련 문제