2011-04-25 4 views
1

이러한 SQL은 동일한 결과를 제공해야합니까? 두 번째 오류 (SQL 오류 1064). Mysql concat을 사용하여 테이블 변경

Correct :   ALTER TABLE table1 TRUNCATE PARTITION d20; 
Does not work : ALTER TABLE table1 TRUNCATE PARTITION concat('d', '20'); 

사실 나는 내가 다음과 같은 SQL을 계획되었다

실행 (예 : 오늘 25 일입니다)하지만,

ALTER TABLE table1 TRUNCATE PARTITION DAYOFMONTH(now()); 

답변

1

없음을 작동하지 않는 달의 일에 대해 잘라 내기 테이블에 붙어 , 그들은해서는 안됩니다. TRUNCATE PARTITION은 문자열이 아닌 파티션 이름을 허용합니다.

UPD :

당신은 여전히 ​​만들고이이 문제에 대한 sol'n하지만 제약이있다 PREPARE + EXECUTE

+0

감사를 사용하여 동적 SQL 쿼리를 수행 할 수 있습니다. SQL은 단 한 줄 (문장)이어야한다. 한 단계 씩 수행 할 수 있다면 매우 기쁩니다. –

+0

@erdinc : 불행히도 그렇지 않습니다. 동적 SQL 만. – zerkms

관련 문제