반응형
MariaDB는 코드를 수동으로 실행해도 작동하는 구문 오류를 발생시키는 이유는 무엇입니까?
디렉토리의 모든 파일을 복사하는 Docker 파일이 있습니다./docker-entrypoint-initdb.d
디렉토리입니다.다음을 제외한 모든 파일이 완벽하게 포함됩니다.
CREATE OR REPLACE PROCEDURE filterRentalStationByString (
IN str VARCHAR(255),
IN cnt INT
)
BEGIN
SELECT
r.id,
r.rental_station_name,
r.language_id,
r.address,
a.street,
a.city,
a.house_number,
a.zip_code
FROM
rental_stations r
INNER JOIN addresses a ON r.address = a.id
WHERE
MATCH( zip_code, city, street, house_number ) AGAINST ( str )
OR
LOWER( CONCAT( rental_station_name, street, city, house_number, zip_code ) ) LIKE LOWER( CONCAT( '%', str, '%' ) )
LIMIT
cnt;
END
Intellij에서 코드를 실행하면 모든 것이 정상적으로 작동하지만 docker-compose로 데이터베이스를 시작하고 설정하려고 하면 다음 오류 메시지가 표시됩니다.
db-mariadb-1 | 2022-10-22 08:13:02+00:00 [Note] [Entrypoint]: /usr/local/bin/docker-entrypoint.sh: running /docker-entrypoint-initdb.d/03_stored_procedure.sql
db-mariadb-1 | ERROR 1064 (42000) at line 1: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '' at line 13
이 문제를 해결하고 create 문 앞에 Delimiter를 추가했습니다.
언급URL : https://stackoverflow.com/questions/74162051/why-does-mariadb-raise-a-syntax-error-even-if-running-the-code-manually-it-works
반응형
'programing' 카테고리의 다른 글
0 값을 모두 NA로 바꿉니다. (0) | 2023.06.14 |
---|---|
VBA - 숫자를 사용하여 열을 선택하시겠습니까? (0) | 2023.06.14 |
각도 - @입력 및 @출력 대주입식 서비스 (0) | 2023.06.14 |
이전 인쇄물을 stdout으로 덮어쓰는 방법은 무엇입니까? (0) | 2023.06.14 |
C에서 EOF와 '\0'의 값은 무엇입니까? (0) | 2023.06.14 |