首页 » 文章分类 » DataBase
七月
29

在MySQL中,使用auto_increment类型的id字段作为表的主键,并用它作为其他表的外键,形成“主从表结构”,这是数据库设计中常见的用法。但是在具体生成id的时候,我们的操作顺序一般是:先在主表中插入记录,然后获得自动生成的id,以它为基础插入从表的记录。

这里面有个困难,就是插入主表记录后,如何获得它对应的id。通常的做法,是通过“select max(id) from tablename”的做法,但是显然这种做法需要考虑并发的情况,需要在事务中对主表加以“X锁“,待获得max(id)的值以后,再解锁。这种做法需要的步骤比较多,有些麻烦,而且并发性也不好。有没有更简单的做法呢?

阅读全文…

十一月
10

症状:
在RHEL5下启动Oracle10g listener
$ lsnrctl start
抛出以下错误:
The listener fails to start with the following errors:
TNS-12537: TNS:connection closed
TNS-12560: TNS:protocol adapter error
TNS-00507: Connection closed
Linux Error: 29: Illegal see

阅读全文…

十月
14

首先,目前在产品环境可用的MySQL版本中,只有InnoDB引擎才允许使用外键,所以,我们的数据表必须使用InnoDB引擎。

下面,我们先创建以下测试用数据库表:

CREATE TABLE `roottb` (
  `id` INT(11) UNSIGNED AUTO_INCREMENT NOT NULL,
  `data` VARCHAR(100) NOT NULL DEFAULT '',
  PRIMARY KEY (`id`)
) TYPE=InnoDB;

CREATE TABLE `subtb` (
  `id` INT(11) UNSIGNED AUTO_INCREMENT NOT NULL,
  `rootid` INT(11) UNSIGNED NOT NULL DEFAULT '0',
  `data` VARCHAR(100) NOT NULL DEFAULT '',
  PRIMARY KEY (`id`),
  INDEX (`rootid`),
  FOREIGN KEY (`rootid`) REFERENCES roottb(`id`) ON DELETE CASCADE
) TYPE=InnoDB;

阅读全文…

九月
16

在先前的文章中说过一些WordPress数据库的操作,最近由于我更换了域名,而原先文章中的网页和图像的链接依旧链到原来的域名上,导致网页和图像的失效。

要是手动的在每篇文章里更改链接是极其需要耐心滴, 唉,谁让我是懒人,根本就不想干这么费神的事情。于是我就想直接在数据库里进行操作。记得以前在MySql里用过replace这个命令,好像有点靠谱,于是动手操作之。

阅读全文…

一月
15

具体安装方法参见:
Oracle Database 10g Release 2 (10.2.0.1) Installation On Red Hat Enterprise Linux 5 (RHEL5)

我只说说几点经常会碰到的问题和解决方法:
阅读全文…

一月
05

MS SQL Server 2000 是熟的不能再熟的老牌数据库了,很多人都应该装过或用过吧。如果配合SQL Server 2000 Analysis Services做一些联机分析处理OLAP(On-Line Analytical Processing)会起到事半功倍的效果。

阅读全文…