2010-09-03 35 views
0
Create EVENT event_test_name ON SCHEDULE EVERY 1 MINUTE STARTS '2010-09-02 12:10:15' ON COMPLETION NOT PRESERVE ENABLE 
DO 
SET Total=-1; 
SET Total = (SELECT COUNT(0) FROM schema1.table1); 
SELECT Total; 
IF Total >50000 THEN 
insert into schema2.table1 (column1) 
select schema1.table1.column1 from schema1.table1; 
end if; 

這是我爲mysql編寫的事件調度程序,但是如果statemnet附近出現不正確的語法行,任何幫助都將非常有幫助。mysql中的事件調度器

謝謝。

+1

爲什麼要讓另一個帳戶發佈問題? – BoltClock 2010-09-03 00:29:13

回答

1

您有@到前言你的變量,否則MySQL將承擔他們的系統變量(和道達爾是不是其中的一個)或列名在表中,所以......

... 
SET @Total=-1; 
SET @Total = (SELECT ...); 
SELECT @Total; 
IF @Total > ... 

等等。

+0

是的,我也試過,我得到了 錯誤代碼:1064 您的SQL語法錯誤;檢查與您的MySQL服務器版本相對應的手冊,在'IF @Total> 50000'附近使用正確的語法'然後 insert into schema2.table1(column1) select line1.png'line01' – Sharpeye500 2010-09-03 00:33:10

+0

'我想''= '應該使用(而不是'=')。 – zerkms 2010-09-03 00:33:27

+0

PS:我正在從SQL Yog運行這些查詢。 – Sharpeye500 2010-09-03 00:34:22