|
和许多论坛一样,我也遇到了门户页diy无法保存的问题。baidu了好久,试了网上说的各种方法,都没能解决。 最终还是自己测试发现了问题所在:
原因是我的论坛做过移行,移行时莫名其妙数据库表的某些字段属性有丢失,这里影响diy保存的就是这张表:pre_common_block_item 大家可以看到导出结构时是这样的: CREATE TABLE `pre_common_block_item` ( `itemid` int(10) UNSIGNED NOT NULL, `bid` mediumint(8) UNSIGNED NOT NULL DEFAULT '0', `id` int(10) UNSIGNED NOT NULL DEFAULT '0', `idtype` varchar(255) NOT NULL DEFAULT '', `itemtype` tinyint(1) NOT NULL DEFAULT '0', `title` varchar(255) NOT NULL DEFAULT '', `url` varchar(255) NOT NULL DEFAULT '', `pic` varchar(255) NOT NULL DEFAULT '', `picflag` tinyint(1) NOT NULL DEFAULT '0', `makethumb` tinyint(1) NOT NULL DEFAULT '0', `thumbpath` varchar(255) NOT NULL DEFAULT '', `summary` text NOT NULL, `showstyle` text NOT NULL, `related` text NOT NULL, `fields` text NOT NULL, `displayorder` smallint(6) NOT NULL DEFAULT '0', `startdate` int(10) UNSIGNED NOT NULL DEFAULT '0', `enddate` int(10) UNSIGNED NOT NULL DEFAULT '0' ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
而这个结构是有问题的,关键问题在 itemid 字段属性不对,某些属性丢失了。 丢失的属性是 PRIMARY KEY AUTO_INCREMENT。没有了这个属性,导致在保存diy数据记录的时候,itemid无法自增,产生了许多itemid为0的记录,而这些记录在展现时只能展现出1条。
如果你的门户在diy保存后,无法展现内容,或者只能展现出1条记录,那么极有可能就是这个原因了。
找到了问题所在,解决问题也就变得很简单了: 首先导出数据,删除表,按下表的结构重建表,在导入导出的数据。完成!
附:正确完整的表结构(下划线是新增的内容): CREATE TABLE `pre_common_block_item` ( `itemid` int(10) UNSIGNED NOT NULL PRIMARY KEY AUTO_INCREMENT, `bid` mediumint(8) UNSIGNED NOT NULL DEFAULT '0', `id` int(10) UNSIGNED NOT NULL DEFAULT '0', `idtype` varchar(255) NOT NULL DEFAULT '', `itemtype` tinyint(1) NOT NULL DEFAULT '0', `title` varchar(255) NOT NULL DEFAULT '', `url` varchar(255) NOT NULL DEFAULT '', `pic` varchar(255) NOT NULL DEFAULT '', `picflag` tinyint(1) NOT NULL DEFAULT '0', `makethumb` tinyint(1) NOT NULL DEFAULT '0', `thumbpath` varchar(255) NOT NULL DEFAULT '', `summary` text NOT NULL, `showstyle` text NOT NULL, `related` text NOT NULL, `fields` text NOT NULL, `displayorder` smallint(6) NOT NULL DEFAULT '0', `startdate` int(10) UNSIGNED NOT NULL DEFAULT '0', `enddate` int(10) UNSIGNED NOT NULL DEFAULT '0' ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
如果解决的你的问题,帮忙点个赞哦!
|
有人访问你的分享时,你将获得奖励(每次1金钱,重复访问不计)
|