数据库
fengbangyue
做一个真实的自我
展开
-
ACCESS数据库中日期类型在编程中的问题
<br /> 上周在把程序拿去调试的时候,发现程序运行不正常。原本显示时间的地方和在写代码上的显示不一样。而在现在时间差的地方却为0.当时想是不是程序里面哪里有问题呢。原来使用GetCurrentTime,现在改用GetLocalTime或GetSystemTime。但偶然打开数据库发现打开ACCESS数据库时,发现数据库显示的时间格式改变了。和本机设置的时间格式一样。而由于本机设置的时间是中文格式的,所以数据库中的时间也是中文格式的,包含有中文,转换为数据的时间字符串相减时,就出问题了。此时,把数据库格原创 2010-06-29 22:42:00 · 2185 阅读 · 0 评论 -
SQL遇见的一个误区
在一个简单的行转列上居然遇见问题,就是字段d是一个datetime类型的,要和日期进行比较,写成如下形式:select AA,@dd:=DATE(d) ,max(case @dd when '2011-12-26' then a end) '',max(case @dd when '2011-12-26' then b end) '',max(case @dd when '2011-原创 2011-12-26 21:37:22 · 697 阅读 · 0 评论 -
MYSQL使用SQL语句生成表结构文档语句
SELECT TABLE_NAME '表名',ORDINAL_POSITION '序号',COLUMN_NAME '字段名',COLUMN_KEY '主外键',COLUMN_DEFAULT '默认值',IS_NULLABLE '是否可为空',DATA_TYPE '类型',CHARACTER_MAXIMUM_LENGTH '长度',COLUMN_COMMENT '说明'FROM INFORM原创 2011-12-16 08:31:36 · 4023 阅读 · 1 评论 -
C++中istream和stringstream的使用
上个项目完成第一个版本开发,写的部分由于是底层SDK。测试的时候没有BUG可改,于是又回到本部门开始做数据库维护的工作。数据库表设计已基本成型,主要是添加或删除一些字段。麻烦的是要为数据库表建立触发器,而且这些触发器功能都一样,就是在数据更新的时候写历史记录。一百多个表,一个一个写不知道写到什么时候,甚至有些表字段就差不多有一百个字段。于是下载一个MySQL的C++连接器,不知道为什么,下源码居然原创 2011-12-14 13:04:03 · 12920 阅读 · 1 评论 -
MYSQL 多个DML语句同时提交
今天在编写对表结构修改的脚本时,没使用Navicat等客户端工具,而是直接使用mysql connect c++连接器,发现同时提交多个alter table语句时失败,改为一个一个地执行就没问题。该问题证明Navicat等客户端虽然能够同时执行多个DML语句,但其实后台也是分开执行的。应该就是MYSQL中会引起事务自动提交的语句都需要单独提交到服务器吧。后来仔细观察在Navicat中执行的Alt原创 2011-12-18 16:37:38 · 1683 阅读 · 0 评论 -
mysql group_concat函数的好处
没有学习新知识,就发一下工作中发现的一个问题吧。 一直以来对group_concat函数的功能也没有怎么在意,觉得用着很顺其自然的。今天看了同事写的几个存储过程,不免让我感慨万千。该存储过程完成的功能就是需要把一个表的满足条件的记录的没条记录的相应字段连接起来,中间使原创 2011-08-09 22:31:36 · 1648 阅读 · 0 评论 -
mysql在windows平台下线程同步的实现方式
<br /> 今天在看mysqlslap源码的时候,发现mysqlslap里面对于线程的同步使用的是pthread_mutex_t,pthread_cond_t等,这不是linux下的东西吗?怎么在windows下也能这样使用 。难道这是C的库函数 。为了确认一下,自己建了一个工程,声明变量pthread_mutex_t MyMutex,hi,该类型居然不能够被识别。包含了几个C的库进来还是不行。于是对mysqlslap中的该类型进行了到底的追踪。<br />最后发现该类型被定义于 MySQL的my_pt原创 2011-05-04 21:22:00 · 1111 阅读 · 0 评论 -
mysql中单引号问题 ,不解
现在数据库编程,都使用传参方式,不仅很好地避免了SQL注入。在编写代码时思路也很清晰。但是最近在对项目中的代码进行测试时,所有可以接受文本框的地方输入单引号会出问题。该单引号不是英文单引号,也不是中文单引号。而是在中文单引号后再加一个英文单引号。很是奇怪,使用smartsniff检查发送到服务器执行的语句,和返回错误,中文单引号编程了/..,英文单引号变成了/'.该语句发送到服务器执行的返回结果是,#42000错误,好像是说语法错误,但是直接从smartsniff中捕获到的这条语句放到服务器执行却不提示错误原创 2011-04-16 17:43:00 · 6200 阅读 · 1 评论 -
mysql全连接的代替方法
<br /> 在MySQL中没有全连接,不知道是它觉得没有必要实现还是怎么的,反正就没有。但今天遇见这样一个表,想到要使用全连接。就使用左右连接代替了。<br />该表是这样的,存储了两类信息。在显示的时候需要将这两类信息用列的方式显示。有人说可以用case when实现阿,但是这两类信息具体内容是不知道的,只有一个分类标志。飞花少说,代码如下。只是个人笔记使用。若你也遇见同样的问题,希望能够对你有所帮助。set @x=NULL;set @y=NULL;set @m=NULL;set @n=原创 2011-04-18 20:33:00 · 7777 阅读 · 0 评论 -
MYSQL建立外键失败几种情况记录Can’t create table。。。。
<br />当你试图在mysql中创建一个外键的时候,这个出错会经常发生,这是非常令人沮丧的。像这种不能创建一个.frm 文件的报错好像暗示着操作系统的文件的权限错误或者其它原因,但实际上,这些都不是的,事实上,这个mysql报错已经被报告是一个mysql本身的bug并出现在mysql 开发者列表当中很多年了,然而这似乎又是一种误导。 <br /><br />在很多实例中,这种错误的发生都是因为mysql一直以来都不能很好的支持的关系的问题, 更不幸的是它也并没有指明到底是哪一个问题会导致上面那种错误,下面转载 2011-01-19 18:30:00 · 823 阅读 · 0 评论 -
Perl操作MySQL数据库
今天同事让给他数据库生成一些测试数据的时候,实用PowerDesign生成时,出现主键冲突或varchar字段太短截断等问题,总是不能够顺利生成。于是自己实用perl脚本来生成,目的是顺便学习一下Perl对MySQL数据库的操作。要用Perl连接数据库,要用DBI模块,需要安装DBD::mysql模块。在windows的cmd下实用ppm install DBD::mysql自动安装,ppm是原创 2011-12-27 19:51:50 · 1789 阅读 · 0 评论