• 4385阅读
  • 3回复

[提问]mysql分表技术 [复制链接]

上一主题 下一主题
离线jiang_198586
 

只看楼主 倒序阅读 楼主  发表于: 2014-05-15
事件

CREATE EVENT IF NOT EXISTS test ON SCHEDULE EVERY 1 MONTH
STARTS DATE_ADD(DATE_ADD(DATE_SUB(CURDATE(),INTERVAL DAY(CURDATE())-1 DAY), INTERVAL 1 MONTH),INTERVAL 0 HOUR)
ON COMPLETION PRESERVE ENABLE
DO
begin
create table if not exists namevar_tmp like namevar;
CALL pd1();
END
红色标记行有什么语法错误啊?在执行时报语法错误。而如果将begin...end内的内容删除可以创建事件,事件创建完,再通过工具将中间内容加入保存,是正常的,这是什么原因啊?
离线pxiao_xiao

只看该作者 1楼 发表于: 2014-05-15
like namevar; 确定需要这个吗
离线jiang_198586

只看该作者 2楼 发表于: 2014-05-16
回 pxiao_xiao 的帖子
pxiao_xiao:like namevar; 确定需要这个吗 (2014-05-15 16:47) 

嗯需要,因为表结构必须一致
离线jiang_198586

只看该作者 3楼 发表于: 2014-05-16
知道怎么回事了哈哈
应该加上delimiter定义sql语句结束符,默认遇到;就执行的
delimiter //
CREATE EVENT IF NOT EXISTS test ON SCHEDULE EVERY 1 MONTH

STARTS DATE_ADD(DATE_ADD(DATE_SUB(CURDATE(),INTERVAL DAY(CURDATE())-1 DAY), INTERVAL 1 MONTH),INTERVAL 0 HOUR)

ON COMPLETION PRESERVE ENABLE

DO
begin
    create table if not exists namevar_tmp like namevar;
    CALL pd1();
END;
//
快速回复
限100 字节
 
上一个 下一个