MySQL实现树的遍历
经常在一个表中有父子关系的两个字段,比如empno与manager,这种结构中需要用到树的遍历。在Oracle 中可以使用connect by简单解决问题,参见http://blog.csdn.net/ylqmf/archive/2010/01/11/5172866.aspx,但MySQL 5.1中还不支持(据说已纳入to do中),要自己写过程或函数来实现。
一、建立测试表和数据:
view plaincopy to clipboardprint?
DROP TABLE IF EXISTS `channel`;
CREATE TABLE `channel` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`cname` varchar(200) DEFAULT NULL,
`parent_id` int(11) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=19 DEFAULT CHARSET=utf8;
/*Data for the table `channel` */
insert into `channel`(`id`,`cname`,`parent_id`)
values (13,'首页',-1),
(14,'TV580',-1),
(15,'生活580',-1),
(16,'左上幻灯片',13),
(17,'帮忙',14),
(18,'栏目简介',17);
DROP TABLE IF EXISTS `channel`;
CREATE TABLE `channel` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`cname` varchar(200) DEFAULT NULL,
`parent_id` int(11) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=19 DEFAULT CHARSET=utf8;
/*Data for the table `channel` */
insert into `channel`(`id`,`cname`,`parent_id`)
values (13,'首页',-1),
(14,'TV580',-1),
(15,'生活580',-1),
(16,'左上幻灯片',13),
(17,'帮忙',14),
(18,'栏目简介',17);
二、利用临时表和递归过程实现树的遍历(mysql的UDF不能递归调用):
view plaincopy to clipboardprint
相关文档:
http://database.51cto.com/art/200910/155625.htm
本文的unique列上插入重复值解决方案,主要基于MySQL平台。通过这些,可以做到一些新的功能和应用。希望本文能对大家有所帮助。
当unique列在一个UNIQUE键上插入包含重复值的记录时,我们可以控制MySQL如何处理这种情况:使用IGNORE关键字或者ON DUPLICATE KEY UPDATE子 ......
1 设置phpMyAdmin
Language:Chinese simplified (zh-utf-8)
MySQL 字符集:UTF-8 Unicode (utf8)
MySQL 连接校对:gbk_chinese_ci
2 创建数据库时
整理设置成 gbk_chinese_ci
3 用SQL建立表中
ENGINE=MyISAM DEFAULT CHARSET=gbk;
ENGINE=InnoDB DEFAULT CHARSET=gbk ......
mysql error number 2003
Can't connect to MySQL server xxx.xxx.xxx.xxx (10061)
在ubuntu 9.04中默认安装了mysql,默认只能本地访问,google了一下:
采用
登录到MySQL服务器端,在mysql库下执行
grant all on *.* to 'remote'@'172.16.21.39' identified by 'password';
即可
如果要设置� ......
1)、去sun的官网下载一个mysql的压缩包,我下载的是mysql-noinstall-5.5.0-m2-win32.zip。
2)、把上面下载的压缩包解压到:D:\Program Files\mysql下面。
3)、在 D:\Program Files\mysql\ 中找 my-large.ini 把它复制成 my.ini。
4)、在 my.ini 中找 [mysqld] ,添 ......
ubuntu下更改mysql默认编码(字符集)
http://blog.csdn.net/zzuduoduo/archive/2009/05/02/4142504.aspx
安装mysql
sudo apt-get install mysql-server #直接自动获得可用版本
也可以这样写
sudo apt-get install mysql-server-5.0 #安装mysql服务器5.0版本
安装后
/etc/init.d/mysql start (stop) 为启动和停止服务� ......