摘要: 今天有人问我用什么方法可以创建空表?在MYSQL中有两种方法。1、create table select ...2、create table like ...第一种很多人都知道,第二种却很少人用。第一种有个缺点1、第一种会取消掉原来表的有些定义。手册上是这么讲的:Some conversion of data types might occur. For example, the AUTO_INCREMENT attribute is not preserved, and VARCHAR columns can become CHAR columns. 不过我测试过,只会取消自增属性!... 阅读全文
posted @ 2008-04-19 12:13 MXi4oyu 阅读(1124) 评论(0) 推荐(0) 编辑
摘要: MYSQL的事件是5.1新增加的,如果想体验,建议升级版本。至于语法我就不多说了,手册上讲的很详细,我来说说几个要点以及一些实例。注意事项:1、EVENT权限是针对模式的(在MYSQL中也就是库的级别),不能对单独表来赋予权限。2、必须在全局开启。3、性能上的损失一定得考虑到。mysql> show variables like '%event%';+-----------------+-------+| Variable_name | Value |+-----------------+-------+| event_scheduler | OFF | +------- 阅读全文
posted @ 2008-04-19 12:11 MXi4oyu 阅读(183) 评论(0) 推荐(0) 编辑
摘要: 在实际应用中,很可能会碰到一些需要删除某些字段的重复记录,我现在把我能想到的写下来,望高手们补充。1、具体实现如下:Table Create Table ------------ --------------------------------------------------------users_groups CREATE TABLE `users_groups` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT, `uid` int(11) NOT NULL, `gid` int(11) NOT NULL, PRIMARY KEY ... 阅读全文
posted @ 2008-04-19 12:07 MXi4oyu 阅读(145) 评论(0) 推荐(0) 编辑
摘要: 网上的都是一些静态的,用CASE WHEN结构实现。所以我写了一个动态的。SP 代码:DELIMITER $$ DROP PROCEDURE IF EXISTS `test`.`sp_row_column_wrap`$$ CREATE DEFINER=`root`@`localhost` PROCEDURE `sp_row_column_wrap`(IN $schema_name varchar(64), IN $table_name varchar(64)) BEGIN declare cnt int(11); declare $table_rows int(11); declare i.. 阅读全文
posted @ 2008-04-19 12:06 MXi4oyu 阅读(233) 评论(0) 推荐(0) 编辑
摘要: 由于今天要导入好多表,而且要批量转换为NDB引擎,备份文件的太大。打开修改不现实。所以就写了一个SP。 里面涉及到三个存储过程。 1、存储过程详细语句:这个存储过程有点问题,要反复运行几次才能把一个有好多数据的库全部更新。具体原因还没有查清楚,暂时不能用到生产环境。DELIMITER $$ CREATE PROCEDURE `sp_alter_engine`( IN f_db_name varchar(255),IN f_table_name varchar(255), IN f_engine_name varchar(255)) BEGIN -- Get the total of the . 阅读全文
posted @ 2008-04-19 12:04 MXi4oyu 阅读(225) 评论(0) 推荐(0) 编辑