重新安装脚本会清除我填充的数据库

时间:2014-02-24 20:36:54

标签: database mysql

我正在建立一个网站,其脚本可以在安装过程中创建多个MySQL数据库,并且由于我所做的更改,我不得不多次重新安装脚本。在重新安装期间,安装脚本会擦除这些组中的所有组和类别。我必须再次手动输入组和类别。

这是代码的两个实例,都消灭了我创建和填充的数据库。

DROP TABLE IF EXISTS `categories`;
CREATE TABLE IF NOT EXISTS `categories` (
  `id` int(10) unsigned NOT NULL auto_increment,
  `category_name` varchar(255) character set utf8 NOT NULL,
  `group_id` smallint(6) unsigned NOT NULL,
  `description` text character set utf8 NOT NULL,
  `page_title` varchar(255) character set utf8 NOT NULL,
  `meta_keywords` text character set utf8 NOT NULL,
  `meta_description` text character set utf8 NOT NULL,
  `is_active` tinyint(4) NOT NULL default '1',
  `created` int(11) NOT NULL,
  `modified` int(11) NOT NULL,
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=13 ;



CREATE TABLE IF NOT EXISTS `categories` (
  `id` int(10) unsigned NOT NULL auto_increment,
  `category_name` varchar(255) character set utf8 NOT NULL,
  `group_id` smallint(6) unsigned NOT NULL,
  `description` text character set utf8 NOT NULL,
  `page_title` varchar(255) character set utf8 NOT NULL,
  `meta_keywords` text character set utf8 NOT NULL,
  `meta_description` text character set utf8 NOT NULL,
  `is_active` tinyint(4) NOT NULL default '1',
  `created` int(11) NOT NULL,
  `modified` int(11) NOT NULL,
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=13 ;

2 个答案:

答案 0 :(得分:0)

当然它是核武器;你打电话

DROP TABLE IF EXISTS `categories`;

这就是DROP TABLE的作用:销毁表格。

答案 1 :(得分:0)

DROP TABLE IF EXISTS categories; 是在原始脚本中,在我发现问题后,我删除了该行代码并仅包含上面的第二个示例。即使删除了这行代码,它仍然会清除类别数据库。

混淆?!

谢谢,