MariaDB(MySQL)에서
CONCAT
명령어는 그 의미처럼('concatenate: 사슬같이 잇다'
) 복수의 문자열을 하나로 이어준다.
UPDATE 구문에서 기존 문자열 필드 값과 원하는 문자열을 합치고 싶을 때 사용할 수 있다.
(SELECT 구문에서도 활용이 가능하다.)
UPDATE 테이블이름 SET CONCAT(필드이름, '합칠 문자') WHERE 조건;
or
UPDATE 테이블이름 SET CONCAT('합칠 문자', 필드이름) WHERE 조건;
MariaDB [test]> SELECT * FROM test LIMIT 1;
+--------+-------------+
| id | test_string |
+--------+-------------+
| 276659 | hello |
+--------+-------------+
MariaDB [test]> UPDATE test SET test_string=CONCAT(test_string, '_world') limit 1;
MariaDB [test]> SELECT * FROM test LIMIT 1;
+--------+-------------+
| id | test_string |
+--------+-------------+
| 276659 | hello_world |
+--------+-------------+
MariaDB [test]> SELECT * FROM test LIMIT 1;
+--------+-------------+
| id | test_string |
+--------+-------------+
| 276659 | hello_world |
+--------+-------------+
MariaDB [test]> UPDATE test SET test_string=CONCAT('hi! ', test_string) limit 1;
MariaDB [test]> SELECT * FROM test LIMIT 1;
+--------+-----------------+
| id | test_string |
+--------+-----------------+
| 276659 | hi! hello_world |
+--------+-----------------+
위의 방식은
기존 문자열 값을 스크립트로 가져와 원하는 문자열과 합치고, 다시 DB에 Update를 하는 것보다 더 효율적인 방법이 될 수 있다.