반응형
    
    
    
  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 |