免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 2553 | 回复: 11
打印 上一主题 下一主题

mysql4.0升级4.1出现问题?求救 在线等急啊 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-08-23 07:22 |只看该作者 |倒序浏览
我公司原来用的是mysql4.0.17由于其它方面的原因需要将其升级为4.1.18,我是原来4.0的数据库直接用tar命令直接cp到新的4.1.18服务器上的,现在的问题是有一个数据库的表在4.1.18中老是不显示时间这个字段的内容,其它都有是好的,请问是什么问题,是我客户端软件的问题还是我服务器端的问题。

[ 本帖最后由 zhuningwll 于 2006-8-25 08:33 编辑 ]

论坛徽章:
0
2 [报告]
发表于 2006-08-23 09:35 |只看该作者
http://imysql.cn/?q=node/74

  1. 如果在4.1.0到4.1.3版本的MySQL中创建了包含 TIMESTAMP 字段的 InnoDB 表。则在升级到4.1.4及更高时需要重建表,因为存储格式发生变化了
复制代码


  1. 不兼容的变化:TIMESTAMP 返回 'YYYY-MM-DD HH:MM:SS' 格式的字符串。在MySQL 4.0中,可以增加选项 --new 来获得MySQL 4.1中这方面的特性
复制代码

论坛徽章:
0
3 [报告]
发表于 2006-08-23 10:07 |只看该作者
我的那张表的结构是:
CREATE TABLE `tl` (
  `pn` varchar(20) default NULL,
  `lt` char(3) default NULL,
  `vc` char(3) default NULL,
  `tl` varchar(10) NOT NULL default '',
  `ls` varchar(4) default NULL,
`kd` date NOT NULL default '0000-00-00',
  `kt` time default NULL,
  `wl` varchar(20) NOT NULL default '',
  PRIMARY KEY  (`tl`),
  KEY `wl` (`wl`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 PACK_KEYS=1

就是kd那个字段没有数据

论坛徽章:
0
4 [报告]
发表于 2006-08-23 13:08 |只看该作者
包含日期/时间类型字段的表最好自己手工升级试试看,mysql 4.1.x 和 5.0.x 以及 5.1.x 3个大版本系列之间改动比较大,升级前必须要知道到底会产生什么问题

论坛徽章:
0
5 [报告]
发表于 2006-08-23 16:49 |只看该作者
最好不要直接拷贝,使用下面的命令导出和导入
#导出
mysqldump -uroot -p TableName > TableName.sql
#导入
mysql -uroot -p --default-character-set=gb2312 -f TableName<TableName.sql

论坛徽章:
0
6 [报告]
发表于 2006-08-24 13:02 |只看该作者
原帖由 yejr 于 2006-8-23 13:08 发表
包含日期/时间类型字段的表最好自己手工升级试试看,mysql 4.1.x 和 5.0.x 以及 5.1.x 3个大版本系列之间改动比较大,升级前必须要知道到底会产生什么问题

那请问一下我这张表应该如何建立的呢?我已经试了好几次但是都是不行的啊?请大家帮帮我的。

[ 本帖最后由 zhuningwll 于 2006-8-24 13:24 编辑 ]

1.JPG (22.86 KB, 下载次数: 28)

1.JPG

2.JPG (16.15 KB, 下载次数: 28)

2.JPG

论坛徽章:
0
7 [报告]
发表于 2006-08-24 13:52 |只看该作者
现在我以发现一个关键性的问题我用sql语句
INSERT INTO `tl` (`pn`, `lt`, `vc`, `tl`, `ls`, `kd`, `kt`, `wl`) VALUES
  ('100352795A','P','I','FC454239','120','-2006-08-10-','00:00:07','127DC');
运行于mysql4.0在kd字段就可以看到2006-08-10
但是在mysql4.1中运行以上语句在kd字段就看到的是null
我的表结构是:

CREATE TABLE `tl` (
  `pn` varchar(20) default NULL,
  `lt` char(3) default NULL,
  `vc` char(3) default NULL,
  `tl` varchar(10) NOT NULL default '',
  `ls` varchar(4) default NULL,
`kd` date NOT NULL default '0000-00-00',
  `kt` time default NULL,
  `wl` varchar(20) NOT NULL default '',
  PRIMARY KEY  (`tl`),
  KEY `wl` (`wl`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 PACK_KEYS=1
那从以上应该可以看到上传的那一段数据就是-2006-08-10-由于那个程序不可以改,所以我只可以从我的服务器入手来觖决这个问题,请问大家我应该如何操作的呢?

论坛徽章:
0
8 [报告]
发表于 2006-08-25 09:46 |只看该作者
没有人知道吗?谁可以帮我的啊

论坛徽章:
0
9 [报告]
发表于 2006-08-25 13:13 |只看该作者
'-2006-08-10-'
并不是合法的日期格式,当然会变成null,这是4.1.x以上的变化,我那个文档中有提到

论坛徽章:
0
10 [报告]
发表于 2006-08-25 16:57 |只看该作者
原帖由 yejr 于 2006-8-25 13:13 发表
'-2006-08-10-'
并不是合法的日期格式,当然会变成null,这是4.1.x以上的变化,我那个文档中有提到

版主能否提示一下我应该如何解决的啊,我实在很急,试了很多方法都不行的。你的文档我也看了的。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP