나는 때까지 잘 작동 웹 프로덕션 서버에 개발 데이터베이스를 복사하고있어 다음저장 프로 시저를 만들 때 MySQL 버전 차이점이 있습니까?
CREATE PROCEDURE sprc_list_user_accounts
(
int_page_number INT,
int_recs_per_page INT
)
BEGIN
DECLARE int_record_first INT;
IF int_page_number = 0
THEN SELECT record_identifier,
name_account,
name_last,
name_first,
flag_disabled
FROM acs_accounts
ORDER BY name_last,
name_first;
ELSE SET int_record_first = ((int_page_number - 1) * int_recs_per_page);
SELECT record_identifier,
name_account,
name_last,
name_first,
flag_disabled
FROM acs_accounts
ORDER BY name_last,
name_first
LIMIT int_record_first, int_recs_per_page;
END IF;
END $$
이 내 자신의 컴퓨터에서 완벽하게 작동 - Win7에/64 MySQL은 5.5.24, 그러나 웹에 질식 머신 - Linux/64 MySQL 5.1.55. 짜증나는 것은 앞의 모든 테이블과 절차가 잘 나타나 있다는 것입니다. 결과는 설명이없는 매우 도움이되지 않습니다.
정확한 응답은
Error
SQL query: Documentation
-- =====
-- LISTS
-- =====
CREATE PROCEDURE sprc_list_user_accounts(
int_page_number INT,
int_recs_per_page INT
) BEGIN DECLARE int_record_first INT;
SELECT COUNT(*)
FROM acs_accounts;
IF int_page_number =0 THEN SELECT record_identifier, name_account, name_last, name_first
FROM acs_accounts
WHERE flag_disabled =0
ORDER BY name_last, name_first;
ELSE SET int_record_first = ((
int_page_number -1
) * int_recs_per_page) ;
SELECT name_account, name_last, name_first, flag_disabled
FROM acs_accounts
ORDER BY name_last, name_first
LIMIT int_record_first, int_recs_per_page;
END IF ;
END $$
MySQL said: Documentation
#1064 -
했다 --- 메시지의 끝!
"* 1064 설명 없음 *"? 일반적으로 1064 개의 오류는 명령에서 오류가 "가장 가깝다"라고 말하면서 가장 중요한 정보입니다. – eggyal
가장 중요 할뿐만 아니라 질문에 제공된 정보도 제공되지 않습니다. 오류가 발생하여 도움이 필요하면 일반적으로 * 전체 * 오류 메시지를 게시하는 것이 좋습니다. 대중적인 신념과는 달리 메시지에는 실제로 유용한 정보가 들어 있습니다. 그럼에도 불구하고 개발 환경에서 프로덕션보다 새로운 버전의 서버를 실행해서는 안됩니다. 스크래치 (scratch), 당신은 결코 당신의 dev 환경에서 프로덕션 환경에있는 것보다 * 다른 * 서버 버전을 실행해서는 안됩니다. 그런 식으로 항상 이런 쓰레기가 생깁니다. – NotMe
경연 금지. 반면에 구문은 꽤 표준 SQL입니까? –