深入mysql存储过程中表名使用参数传入的详解
深入mysql存储过程中表名使用参数传入的详解
发布时间:2016-12-29 来源:查字典编辑
摘要:BEGINdeclaredate_strvarchar(8);declaretable_prefixvarchar(20);settable...

BEGIN

declare date_str varchar(8);

declare table_prefix varchar(20);

set table_prefix='mail_rare_visit_';

set date_str = DATE_FORMAT(CURRENT_DATE(),'%Y%m%d');

set @table_name = concat(table_prefix, date_str);

set @s = concat('CREATE TABLE ', @table_name, '(

`id` int(11) NOT NULL AUTO_INCREMENT,

`user_id` int(11) NOT NULL,

`city_id` int(11) NOT NULL,

`email` varchar(300) NOT NULL,

`channel_id` int(11) DEFAULT NULL,

`w_revenue` decimal(7,6) NOT NULL DEFAULT 0.000000,

`w_buy` decimal(7,6) NOT NULL DEFAULT 0.000000,

`w_browse` decimal(7,6) NOT NULL DEFAULT 0.000000,

`rec_goods` varchar(800) DEFAULT NULL,

`update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,

PRIMARY KEY (`id`),

KEY `idx_user_id` (`user_id`),

KEY `idx_city_id` (`user_id`),

KEY `idx_email` (`email`),

KEY `idx_channel_id` (`channel_id`)

) ENGINE=MyISAM DEFAULT CHARSET=utf8;');

prepare stmt from @s;

execute stmt;

DEALLOCATE prepare stmt;

end

推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
相关阅读
网友关注
最新mysql数据库学习
热门mysql数据库学习
编程开发子分类