Computer >> 컴퓨터 >  >> 프로그래밍 >> MySQL

MySQL CONCAT() 함수에서 백틱 사용 시 오류가 발생하는 이유와 해결 방법

MySQL CONCAT()에서 백틱 사용 시 발생하는 오류와 해결 방법

MySQL의 CONCAT() 함수 내부에 백틱(`)을 사용하면 오류가 발생합니다. 백틱은 테이블명이나 컬럼명 같은 식별자를 감쌀 때 사용하는 기호이기 때문입니다. 따라서 문자열을 연결할 때는 반드시 작은따옴표(')를 사용해야 합니다. 기본 문법은 다음과 같습니다.

select concat(yourColumnName1,' ',yourColumnName2) from yourTableName;

1단계: 테이블 생성

먼저 예제로 사용할 테이블을 생성합니다.

mysql> create table DemoTable1359
    -> (
    -> Id int,
    -> Name varchar(20)
    -> );
Query OK, 0 rows affected (0.58 sec)

2단계: 레코드 삽입

insert 명령어를 사용하여 테이블에 데이터를 입력합니다.

mysql> insert into DemoTable1359 values(101,'Chris');
Query OK, 1 row affected (0.16 sec)
mysql> insert into DemoTable1359 values(102,'Adam');
Query OK, 1 row affected (0.17 sec)
mysql> insert into DemoTable1359 values(103,'Mike');
Query OK, 1 row affected (0.16 sec)
mysql> insert into DemoTable1359 values(104,'John');
Query OK, 1 row affected (0.20 sec)

3단계: 전체 레코드 조회

select 문으로 테이블의 모든 레코드를 확인합니다.

mysql> select * from DemoTable1359;

실행 결과는 다음과 같습니다.

+------+-------+
| Id   | Name  |
+------+-------+
|  101 | Chris |
|  102 | Adam  |
|  103 | Mike  |
|  104 | John  |
+------+-------+
4 rows in set (0.00 sec)

4단계: CONCAT()에서 작은따옴표 사용하기

다음은 CONCAT() 함수에서 작은따옴표를 사용하여 두 컬럼을 하나의 문자열로 연결하는 쿼리입니다.

mysql> select concat(Id,' ',Name) from DemoTable1359;

실행 결과는 다음과 같습니다.

+---------------------+
| concat(Id,' ',Name) |
+---------------------+
| 101 Chris           |
| 102 Adam            |
| 103 Mike            |
| 104 John            |
+---------------------+
4 rows in set (0.00 sec)

위 예시처럼 CONCAT() 함수 안에서 공백과 같은 문자열 구분자를 넣을 때는 반드시 작은따옴표를 사용해야 합니다. 백틱을 사용하면 MySQL이 이를 일반 문자열이 아닌 식별자(컬럼명)로 해석하기 때문에 오류가 발생하게 됩니다.