Я ломаю голову, пытаясь создать эту таблицу. Другие таблицы прекрасно работают в mariadb 10 с аналогичными ограничениями. Я безуспешно запускал его через отладчики.
ERROR 1005 (HY000) at line 401 in file: '/usr/share/doc/dbmail/examples/create_tables.mysql': Can't create table `dbmail`.`dbmail_auto_replies` (errno: 121 "Duplicate key on write or update")
DROP TABLE IF EXISTS `dbmail_users`;
CREATE TABLE `dbmail_users` (
`user_idnr` bigint(20) UNSIGNED NOT NULL auto_increment,
`userid` varchar(255) NOT NULL default '',
`passwd` varchar(255) NOT NULL default '',
`client_idnr` bigint(20) UNSIGNED NOT NULL default '0',
`maxmail_size` bigint(20) NOT NULL default '0',
`curmail_size` bigint(20) NOT NULL default '0',
`maxsieve_size` bigint(20) NOT NULL default '0',
`cursieve_size` bigint(20) NOT NULL default '0',
`encryption_type` varchar(255) NOT NULL default '',
`last_login` datetime NOT NULL default '1979-11-03 22:05:58',
PRIMARY KEY (`user_idnr`),
UNIQUE KEY `userid_index` (`userid`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
DROP TABLE IF EXISTS dbmail_auto_notifications; CREATE TABLE dbmail_auto_notifications (
user_idnr bigint(20) UNSIGNED NOT NULL,
notify_address varchar(100) NOT NULL default '',
INDEX user_idnr_index (user_idnr),
FOREIGN KEY user_idnr_fk (user_idnr)
REFERENCES dbmail_users (user_idnr) ON DELETE CASCADE ON UPDATE CASCADE ) ENGINE InnoDB DEFAULT CHARSET=utf8;
DROP TABLE IF EXISTS dbmail_auto_replies; CREATE TABLE dbmail_auto_replies (
user_idnr bigint(20) UNSIGNED DEFAULT '0' NOT NULL,
start_date DATETIME NOT NULL,
stop_date DATETIME NOT NULL,
reply_body MEDIUMTEXT,
INDEX user_idnr_index (user_idnr),
FOREIGN KEY user_idnr_fk (user_idnr)
REFERENCES dbmail_users (user_idnr) ON DELETE CASCADE ON UPDATE CASCADE ) ENGINE InnoDB DEFAULT CHARSET=utf8;
Любая помощь приветствуется.
попробуйте использовать разные имена для внешних ключей, в обоих случаях у вас user_idnr_fk. когда я менял имена, создавались таблицы.