source

MySQL 오류:SQL 구문에 오류가 있습니다. MySQL 서버 버전에 해당하는 설명서에서 다음에 사용할 올바른 구문을 확인하십시오.

topadmin 2023. 9. 17. 20:10

MySQL 오류:SQL 구문에 오류가 있습니다. MySQL 서버 버전에 해당하는 설명서에서 다음에 사용할 올바른 구문을 확인하십시오.

저장 절차는 다음과 같습니다.

CREATE PROCEDURE ProG()
  BEGIN
    SELECT * FROM `hs_hr_employee_leave_quota`;
  END

그러나 다음과 같은 오류가 있습니다.

#1064구문에 . 에서 행 다에'tr3xteo에ueyellkn-rroltrs;xn MySQL 서버 버전에 해당하는 설명서에서 줄 3에서 '' 근처에 사용할 올바른 구문을 확인하십시오.

오류는 무엇을 의미합니까?2호선에 무슨 문제가 있습니까?

트리거, 저장 프로시저 등을 사용하기 전에 구분 기호를 변경해야 합니다.

delimiter //
create procedure ProG() 
begin 
SELECT * FROM hs_hr_employee_leave_quota;
end;//
delimiter ;

이 MySQL Error가 말하고자 하는 바를 찾는 방법:

#1064 - You have an error in your SQL syntax;

이 오류에는 아무런 단서가 없습니다.실수가 어디에 있는지 확인하려면 이 모든 항목을 다시 확인해야 합니다.

  1. 했거나 했습니다 했습니다 했거나 를 한 을 생략 또는 포함했습니다.!@#$%^&*()-_=+[]{}\|;:'",<>/?
  2. 한 키워드 한 되었거나 한 :select,into외 수많은 사람들. , , , , , , , .
  3. 쿼리에 ASCII 문자처럼 보이지만 인식되지 않는 유니코드 문자가 있습니다.
  4. 키워드 사이의 위치가 잘못되었거나 누락되었거나 불필요한 공백 또는 줄 바꿈.
  5. 일치하지 않는 작은 따옴표, 큰 따옴표, 괄호 또는 괄호.

손상된 쿼리가 작동하기 시작할 때까지 최대한 제거합니다.그리고 Postgre를 사용합니다.same 구문 보고 시스템이 있는 SQL 다음 번.

구분 기호, 구분 기호...

절차에 여러 개의 진술이 있을 때는 꼭 필요합니다.(다시 말해, 당신이 가지고 있는 것은.;당신의 코드와 더 많은 진술/내용?그런 다음 구분 기호를 사용해야 합니다.

하지만 당신처럼 간단한 자세를 취하려면 다음과 같이 하면 됩니다.

CREATE PROCEDURE ProG()
  SELECT * FROM `hs_hr_employee_leave_quota`;

my.ini에서 max_allowed_packet을 늘리려고 하면 mysql에서 메모리 문제가 발생할 수 있습니다.

MYSQL 절차 단계:

  1. 구분 기호를 기본값 ' ; '에서 ' // '로 변경합니다.

구분 기호 //

  1. procedure를 생성합니다. 구문을 참조할 수 있습니다.

    참고: ' ;'로 문장을 끝내는 것을 잊지 마십시오.

create procedure ProG() 
begin 
SELECT * FROM hs_hr_employee_leave_quota;
end;//
  1. 구분 기호를 ' ;'으로 다시 변경합니다.

구분 기호;

  1. 이제 실행합니다.

ProG()를 호출합니다.

아래와 같은 오류가 발생했습니다.

오류 1064 (42000):SQL 구문에 오류가 있습니다. MySQL 서버 버전에 해당하는 매뉴얼에서 3행에서 '') 근처에 사용할 올바른 구문을 확인하십시오.

다음과 같이 후행 쉼표를 사용하는 경우:

create table person(
  name varchar(50),
);             -- ↑ A trailing comma

그래서 아래와 같이 후행 쉼표를 제거한 다음 오류를 해결했습니다.

create table person(
  name varchar(50)
);             -- ↑ No trailing comma

그리고 저도 아래와 같은 오류가 발생했습니다.

오류 1064 (42000):SQL 구문에 오류가 있습니다. MySQL 서버 버전에 해당하는 설명서에서 1행에서 'count(numint)'에 가까운 구문을 사용하도록 올바른 구문을 확인하십시오.

MySQL에서 내장 함수인 "count()"로 인식되어 아래와 같이 "count""(")" 사이에 공백이 없는 경우:

            -- No space
                 ↓
create table count(
  num int
);

그래서 아래와 같이 "count""(") 사이에 공백을 만든 다음 오류를 해결했습니다.

          -- Make a space
                  ↓
create table count (
  num int
);

언급URL : https://stackoverflow.com/questions/5703441/mysql-error-you-have-an-error-in-your-sql-syntax-check-the-manual-that-corresp