很多人喜欢用这样的方法来判断是否存在记录: select count(*) into t_count from t where condition; if t_count> 0 then .... 这种方法的问题在于:我们需要的仅仅是是否存在,而不是得到总记录数。查询记录总数付出了不必要的性能代价。 两种情况: 1. 如果判断是否存在记录后, 要查询记录中的某些列的信息,或者是决定要对表进行insert/update操作,典型的操作为: a. select count(*) into t_count from t where condition; if t_count> 0 then ...
In oracle/PLSQL, the substr functions allows you to extract a substring from a string. The syntax for the substr function is: substr( string, start_position, [ length ] ) 说明: string is the source string. start_position is the position for extraction. The first position in the string is always 1. ...
2008-01-10

转:C3P0连接池详细配置

关键字: c3p0 连接池 详细配置
本文原文为:http://jacreater.spaces.live.com/blog/cns!BE44984C5949B55B!120.entry <c3p0-config>   <default-config> <!--当连接池中的连接耗尽的时候c3p0一次同时获取的连接数。Default: 3 --> <property name="acquireIncrement">3</property> <!--定义在从数据库获取新连接失败后重复尝试的次数。Default: 30 --> <property name="acquir ...
2007-12-13

mysql table full 的解决方案

关键字: mysql table full
发现执行mysql的 REPLACE INTO 的时候mysql返回 #1114 - The table ‘xxxx’ is full 这个错误。。。 以前没有遇到过,于是查找资料解决这个问题。。。 得知是由于内存表的大小超过了规定的范围,于是搜索解决方法, 网上提到的有两种解决方法, 一种是修改tmp_table_size参数,另外一种是修改max_heap_table_size参数。。。 [root@localhost etc]# vi /etc/rc.d/init.d/mysql 找到 $bindir/mysqld_safe --datadir=$ ...
开发中运行mysql脚本,发现提示mysql提示Column count doesn't match value count at row 1错误,坚持后发现是由于写的SQL语句里列的数目和后面的值的数目不一致, 比如insert into 表名 (field1,field2,field3) values('a','b')这样前面的是三列,后面却只有二个值,这就会出现这个错误的。 下次就不会犯这样的错误了!!
2007-11-07

修改mysql数据表中的字段属性

关键字: mysql 字段属性
1.登录数据库 >mysql -u root -p 数据库名称 2.查询所有数据表 >show tables; 3.查询表的字段信息 >desc 表名称; 4.1.修改某个表的字段类型及指定为空或非空 >alter table 表名称 change 字段名称 字段名称 字段类型 [是否允许非空]; >alter table 表名称 modify 字段名称 字段类型 [是否允许非空]; 4.2.修改某个表的字段名称及指定为空或非空 >alter table 表名称 change 字段原名称 字段新名称 字段类型 [是否允许非空]; 例如: 修改表expert_info中的字段birth ...
2007-07-14

转:新版JDBC连接SqlServer2005数据库

关键字: SqlServer2005 JDBC
一、下载安装 1、SqlServer 2005 Express Edition    下载:http://msdn.microsoft.com/vstudio/express/sql/download/    安装完数据库后设置ICP/IP协议启动,具体如下:    (1)打开SQL Server Configuration Manager    (2)转到SQL Server 2005 Network Configuration->Protocols for SQLEXPRESS    (3) ...
2007-02-06

mysql无法创建innodb类型的表

关键字: mysql innodb 无法创建innodb
现在用的这个mysql是个免安装版本,原来是一直不能安装成系统服务,总是出现 mysql启动错误1067。后来通过 mysql启动错误1067的解决给解决了。可是在使用中发现表的类型只能为myisam,而不能为innodb,为此烦恼了许久。 在网上搜了许久,发现这里有解决方法MYSQL have_innodb DISABLED无法创建innodb类型的表,看了看,发现我只能搜到ibdata1这个文件,不知为何,不过在把服务停掉,删除这个ibdata1文件后,重起mysql服务后。ibdata1和ib_logfile1、ib_logfile0这三个文件就都有了,而且也可以正常创建innodb类 ...
2007-01-16

转:在MySQL中使用外键

关键字: MySQL,外键,InnoDB
在MySQL中使用外键 昨晚用Mysql建外键约束,始终没有成功,今天找到这个,原来只有InnoDB类型的表才可以使用外键. 只有InnoDB类型的表才可以使用外键 CREATE TABLE person ( id SMALLINT UNSIGNED NOT NULL AUTO_INCREMENT, name CHAR(60) NOT NULL, PRIMARY KEY (id) )type=innoDB; CREATE TABLE shirt ( id SMALLINT UNSIGNED NOT NULL AUTO_INCREMENT, style ENUM('t-shirt' ...
2006-12-21

mysql启动错误1067的解决

关键字: mysql启动错误,mysql,1067的解决
安装后MYSQL5后,发现启动出错,有时启动正常,但加接时马上出错。 出错代码:1067 解决办法如下: 删除%windows%/my.ini 删除其它地方的my.ini 在mysql安装目录下把my-small.ini复制为my.ini 在my.ini最后一行插入: CODE: [mysqld] #设置basedir指向mysql的安装路径 basedir=C:\mysql-5.1.11-beta-win32 datadir=C:\mysql-5.1.11-beta-win32\data ...
2006-12-21

MySql服务器的启动和关闭

关键字: mysql,启动mysql,关闭mysql
  MySQL服务器既可以做为前台服务程运行,也可以做为后台服务运行。在MySQL安装目录的bin目录下提供了以下MySQL服务程序:   mysqld.exe:最基本的MySQL服务器程序。   mysqld-nt.exe:Windows NT/2000/XP平台的优化版本,支持命名管道。   执行以上任意一个程序,都会以前台的方式启动MySQL服务。也可按下面的方式将它做为后台来运行。   1。在DOS下转到MySQL安装目录的bin子目录下。         2。在NT/2000/xp中注册MySQL服务。命 ...