like에 오류가 뜨는데, 백틱을 사용하면 오류가 뜨지 않는다
백틱(`)?
식별자(테이블 이름, 열 이름 등)를 명확히 구분하여 SQL 문법에서 식별자를 명확하게 정의하고 충돌을 피하기 위해 중요한 역할을 한다.
백틱을 사용하는 이유
1. 예약어 충돌 방지: SQL에는 SELECT, INSERT, UPDATE 등과 같은 예약어가 많다. 테이블 이름이나 열 이름이 이러한 예약어와 충돌할 때, 백틱을 사용하면 데이터베이스가 이것을 식별자로 인식한다. 예를 들어, like는 패턴 매칭에서 사용되는 SQL 예약어이다. 이를 테이블 이름으로 사용할 때는 백틱을 사용해야 한다.
INSERT INTO `like` (postingId, userId) VALUES (2, 1);
insert into `like`
(postingId, userId)
values
(2, 1);
select * from `like`;
delete from `like`
where postingId = 2 and userId = 1;
2. 특수 문자 사용: 테이블이나 열 이름에 공백이나 특수 문자를 포함하고 싶을 때도 백틱을 사용한다. 예를 들어, 열 이름에 공백이 포함된 경우이다.
SELECT `user name` FROM `user data`;
'MySQL' 카테고리의 다른 글
MySQL) 테이블의 데이터를 모두 delete 했을 때 id 숫자 리셋 시키는 방법 (0) | 2024.05.30 |
---|---|
MySQL) 검색할 문자열 찾는 속도 단축하기 (FULLTEXT 설정) (0) | 2024.05.20 |
MySQL) now() 와 now() on update now() 차이점 (0) | 2024.05.20 |
MySQL) Instargram - 유니크와 이중유니크 : 클라이언트가 동일 인물을 중복 팔로우 하면 오류 뜨게 하기 (0) | 2024.05.20 |
MySQL) Instargram (3) : 프론트엔드 개발자에게 보낼 데이터 만들기 (0) | 2024.05.20 |