帝国cms7.5系统重装“enewspublicadd' doesn't exist”,重新升级又出现“Duplicate column name 'eckuid

乘着又到周六了,有空闲时间,想着目前手头有好多模板,可以拿来做演示用,让我意想不到的是在云服务器端重装后竟会出现Table 'demo002.***_enewspublicadd' doesn't exist select * from ***_enewspublicadd limit 1这种错误,由于好久没弄,都不知道是什么原因,然后各种搜索,终于明白了原来是由于7.2版本与7.5版本的错乱所致,先前我记得演示网站升级到7.5后,又因为一些缘故,用以前的备份数据重新安装了一遍,等于数据库用回了7.2版本的,但是程序还是7.5版本的,但由于重装,之前7.5版本的数据没删掉,导致7.5版本数据表遗留在7.2版本数据表中,可能问题就出现在这里。

先梳理下,目前的状况,也就是程序用7.5版本,但是数据表确是7.2版本,另外,7.2数据表中还有7.5版本数据表,凌乱了,本来想应该没关系吧,7.2版本中有7.5版本,不就等于7.5版本了吗?从现在情况来看并不那么简单。

我又重新升级下,可是升级又出错了,提示“Duplicate column name 'eckuid' alter table ***_ecms_news change groupid groupid smallint(6) NOT NULL default '0', change firsttitle firsttitle tinyint(3) unsigned NOT NULL default '0', change isgood isgood tinyint(3) unsigned NOT NULL default '0', add eckuid int(11) NOT NULL default '0';”

现在解决方法要么是网站重造,用新程序重新添加文本,重新系统设置,重新构建模板;要么是按照网上的方法,仔细查找数据库表,将7.2数据表与现有错乱数据表进行对比,删除多余的错乱数据表,然后重新运行升级升序。

刚才去数据库后台看了下,7.2数据库有237条,错乱数据表有256条,足足多了19条,找到这多余的19条删掉,这还是要花时间呀,不过比起网站重造,时间还是要少些吧,先试试看,查找中,争取吃午饭前找到并删除!

后记:

搞了一上午加一个下午,中午饭都没吃,一直在解决这个问题,直到16:05分这个问题才得以圆满解决,那问题在哪呢?问题很简单很简单,找了很多遍,最后才发现原来由7.2升级到7.5版本的update升级包里是不带install文件的,然后升级到7.5了,换个服务器重装时,就相当于用7.2版本的install程序重新安装7.5版本的数据库,这样的必然会出错的,结果显示这个数据表没有,那个数据表没有,那是因为用了低版本来启动高版本的程序,应该是用7.5版本的本身的install文件来进行安装,而不是用7.2版本的install进行安装。

所以解决方法很简单,用同等版本的install替换掉升级后还未更新的install文件来进行程序的安装。好了,现在都搞定了,一个很简单的疏漏,竟花费了差不多一天的时间,真是太笨了,好在问题解决了!现在是16:14可以开始烧午饭了,午饭还没吃。。。。。。