如何使用magento中的单个自定义模块创建两个表

时间:2013-09-28 10:56:15

标签: mysql magento

我已经通过自定义模块创建了一个表。现在我想创建一个具有相同sql设置的表。 我正在使用以下代码来创建表。

     $installer = $this;

    $installer->startSetup();

    $installer->run("
     DROP TABLE IF EXISTS {$this->getTable('menu')};
    CREATE TABLE {$this->getTable('menu')} (
      `menu_id` int(11) unsigned NOT NULL auto_increment,
      `title` varchar(255) NOT NULL default '',
      `parent` int(11) unsigned NOT NULL default '0',
      `position` int(11) unsigned NOT NULL default '0',
      `status` smallint(6) NOT NULL default '0',
      `created_time` datetime NULL,
      `update_time` datetime NULL,
      PRIMARY KEY (`menu_id`)
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
     ");

$installer->run("
 DROP TABLE IF EXISTS {$this->getTable('menu_images')};
CREATE TABLE {$this->getTable('menu_images')} (
  `menu_images_id` int(11) unsigned NOT NULL auto_increment,
  `title` varchar(255) NOT NULL default '',
  `menu_id` int(11) unsigned NOT NULL default '0',
  `position` int(11) unsigned NOT NULL default '0',
  `filename` varchar(255) NOT NULL default '',
  `status` smallint(6) NOT NULL default '0',
  `created_time` datetime NULL,
  `update_time` datetime NULL,
  PRIMARY KEY (`menu_images_id`),
  FOREIGN KEY (menu_id) REFERENCES menu(menu_id) ON UPDATE CASCADE ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8;");

当我重新编写第二个表时,上面的代码工作正常但是当我尝试用一​​个文件创建两个表时,它会产生错误

表定义不正确;只能有一个自动列,必须将其定义为键。

我怎样才能克服这个问题。

0 个答案:

没有答案