ERROR 1005 : Can't create table './exim/vacation_notification.frm' (errno: 150)

  • Автор темы HollySpirut
  • Дата начала

HollySpirut

Guest
ERROR 1005 : Can't create table './exim/vacation_notification.frm' (errno: 150)

Запрос
PHP:
CREATE TABLE IF NOT EXISTS vacation_notification ( 
on_vacation varchar(255) NOT NULL, notified varchar(255) NOT NULL, 
notified_at timestamp NOT NULL default CURRENT_TIMESTAMP, 
PRIMARY KEY on_vacation (`on_vacation`, `notified`), 
CONSTRAINT `vacation_notification_pkey` FOREIGN KEY (`on_vacation`) REFERENCES vacation(`email`) ON DELETE CASCADE ) 
ENGINE=InnoDB DEFAULT /*!40100 CHARACTER SET latin1 */ TYPE=InnoDB COMMENT='Postfix Admin - Virtual Vacation Notifications' ;
возвращяет
PHP:
ERROR 1005 : Can't create table './exim/vacation_notification.frm' (errno: 150)
Если после этого сделать
PHP:
SHOW ENGINE INNODB STATUS;
То он вернет
PHP:
LATEST FOREIGN KEY ERROR
------------------------
090310 21:04:56 Error in foreign key constraint of table exim/vacation_notification:
 FOREIGN KEY (`on_vacation`) REFERENCES vacation(email) ON DELETE CASCADE ) ENGINE=InnoDB DEFAULT  TYPE=InnoDB:
Cannot resolve table name close to:
(`email`) ON DELETE CASCADE ) ENGINE=InnoDB DEFAULT  TYPE=InnoDB
FreeBSD Mysql 5.0
 

HollySpirut

Guest
PHP:
CREATE TABLE `vacation` (
  `email` varchar(255) collate utf8_bin NOT NULL default '',
  `subject` varchar(255) collate utf8_bin NOT NULL default '',
  `body` text collate utf8_bin NOT NULL,
  `cache` text collate utf8_bin NOT NULL,
  `domain` varchar(255) collate utf8_bin NOT NULL default '',
  `created` datetime NOT NULL default '0000-00-00 00:00:00',
  `active` tinyint(1) NOT NULL default '1',
  PRIMARY KEY  (`email`),
  KEY `email` (`email`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='Exim and dovecot Admin - Virtual Vacation';
 
Сверху