2016-11-21 2 views
1

mysql 프로 시저를 호출 중이며 아래 오류로 인해 실패합니다. 문제가 무엇인지 파악할 수 없습니다.mysql에 대한 호출이 오류로 인해 실패합니다.

내 쉘 스크립트 조각은 다음과 같습니다 : MySQL의 절차에서

export batchsize=$1 
echo $batchsize 
myvar=$(mysql -q mydb -uuser --skip-column-names --execute='call delete_table_incrementally(batchsize)') 

코드는 다음과 같습니다 :

ERROR 1054 (42S22) at line 1: Unknown column 'batchsize' in 'field list' 
: bash는 스크립트를 실행하는 것은 MySQL의에서

create procedure delete_table_incrementally(IN batchsize MEDIUMINT(3)) 
modifies sql data 
begin 
DELETE FROM mytable where mycondition='ERROR-5000' order by id limit batchsize; 
commit; 
select count(*) FROM mytable where mycondition='ERROR-5000'; 
end; 
// 
delimiter ; 
call delete_table_incrementally(); 

에러 코드/응답

어떤 아이디어라도 감사 할 것입니다.

+0

을 http://stackoverflow.com/questions/23989967/ 점점 - 오류 - 1054-42s22 - 동안 - 나는 - - - - - - - 터미널에서 mysql을 명령 –

답변

1

변수가 같은 즉 확장 당신이 당신의 bash 변수가 잘못 사용하는 방법, 큰 따옴표 (") 사용 만이 확인

mysql -q mydb -uuser --skip-column-names --execute="call delete_table_incrementally($batchsize)" 
+0

Wunderbar! 그것은 일했다! 고마워요. – learner

+0

어젯밤에 일했을 때 벌써 했어요. – learner

+0

젠장! 나는 그것을 얻었다, 사과한다 나는이 포럼에 정통하지 않다! – learner

관련 문제