우리 회사의 MySQL 서버에 새로운 저장 프로 시저를 추가해야합니다. 약간 다른 점 때문에 이미 존재하는 것을 사용하고 추가 필드를 추가하고 프로 시저의 이름을 변경했습니다. MySQL의 저장 프로 시저와 관련된 이상한 문제
Error Code: 1064. You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 3
이 줄에 0 참고로하는 것에 : SET의 @update_id : 이상한 일이 지금은 문을 실행하고자 할 때, 그것은 반환이다 = 0; 이상하게 만드는 것은 SHOW CREATE PROCEDURE를 사용하여 저장 프로 시저를 쿼리했다는 것입니다. Google 데이터베이스에 저장되었으며 정상적으로 작동합니다. 난 그냥 새 저장 프로 시저로 사용하지 않을 수 있습니다 (만약 내가 그것을 새 테스트 데이터베이스에 적용하려고하거나 기존 데이터베이스에서 새 이름을 부여하여 사용) 상관없이. 나는 인터넷에서 해결책을 찾았다. 불행히도 아무 소용이 없습니다. 필자는 원래의 변경되지 않은 저장 프로 시저를 실행하려고 시도한 새로운 테이블과 일부 데모 값을 사용하여 새 데이터베이스를 설정하기까지했습니다. 그것은 똑같은 오류를 반환합니다.
은 여기 현재 사용하고 내가 이야기하고있는 저장 프로 시저를 사용 : 나는 무엇이 잘못 생각에서 완전히 나처럼 너희들이 나를 도울 수 있기를 바랍니다
CREATE DEFINER=`root`@`localhost` PROCEDURE `customer_getcard`(IN Iinstance INT, IN Itimebuy DOUBLE, IN Iprice DECIMAL(10,2), IN Itariff INT, IN Icomment VARCHAR(128))
BEGIN
SET @update_id := 0;
UPDATE customer_shop SET state = 1, id = (SELECT @update_id := id), instance=Iinstance, timebuy=Itimebuy, price=Iprice, comment=Icomment WHERE tariff=Itariff AND state = 0 LIMIT 1;
SELECT * FROM customer_shop WHERE id = @update_id;
END
. :/
감사합니다, 마크
전체 오류주십시오! – Namphibian
여기 있습니다 : 오류 코드 : 1064. SQL 구문에 오류가 있습니다. MySQL 서버 버전에 해당하는 설명서를 확인하여 올바른 구문을 찾아서 'at 3'근처에서 사용하십시오. –