code

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

starcafe 2023. 9. 5. 20:41
반응형

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

MySQL.Async.fetchAll('INSERT INTO position (id, x, y, z) VALUES (@id, @x, @y, @z)', 
{['@id'] = identifier, ['@x'] = coords.x, ['@y'] = coords.z, ['@z'] = coords.z})

안녕하세요. 저는 프로그래밍을 배우고 있고 위의 간단한 명령어를 제 FiveM 서버를 위해 작성했지만, 어떤 이유에서인지 그것은 문제가 없을 때 아래의 코드를 반환합니다.확인해보니 id와 cords는 모두 정상이라 문제는 표시된 것처럼 구문이 문제임에 틀림없습니다.

[MySQL] [testeServerClient] An error happens on MySQL for query "INSERT INTO position (id, x, y, z) VALUES (@id, 0, 0, 0)": ER_PARSE_ERROR: 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 'position (id, x, y, z) VALUES (@id, 0, 0, 0)' at line 1

고치는 방법 아는 사람?내 MariaDB 버전은 10.4.11-MariaDB입니다.감사합니다!

the right syntax to use near 'position (id, x, y, z) VALUES (@id, 0, 0, 0)' at line 1

제가 보기엔 통과가 안 되는 것 같아요IDvalues당신도 그럴 수 없어요, 만약에.id열이 다음으로 설정됨auto_increment삽입물에 포함해서는 안 됩니다.

테이블에 새 행을 삽입하기 위한 올바른 구문(예:id열이 있습니다.auto_increment켜짐:

INSERT INTO table_name (column1, column2, column3, ...)
VALUES (value1, value2, value3, ...);

그렇지 않으면, 그것은 당신의 질문 외에 다른 문제인 것 같습니다, 왜냐하면 그것은 받는 것이기 때문입니다.0 0 0의 값x y z열: 값 없음id여전히 로 표시됩니다.@id그것은 그 이후로 유효하지 않습니다.id칼럼은, 제가 바라건대.INT기둥.

position키워드입니다.

계획 A, 모든 곳에 백틱스를 배치합니다.

계획 B: 표에 다른 이름을 사용합니다.

참조: https://mariadb.com/kb/en/reserved-words/ MySQL의 키워드 목록에 없습니다.

참고: "근처에..거의 항상 위반 토큰을 가리키거나 바로 뒤에 있습니다.

나는 당신이 MySQL을 사용하고 있다는 것이 문제라고 생각합니다.MySQL을 사용하는 대신 삽입 쿼리에 대한 Async.fetchAll.Sync.execute 또는 MySQL.비동기.실행.MySQL을 사용해 보십시오.콜백이 필요하지 않은 경우 Sync.execute.

언급URL : https://stackoverflow.com/questions/60851901/er-parse-error-you-have-an-error-in-your-sql-syntax-check-the-manual-that-corr

반응형