Show
added a comment - is a big chain
i can put those too
CREATE TABLE `titan_upload_file` (
`Id` int(11) unsigned NOT NULL AUTO_INCREMENT,
`Id_Object` int(11) unsigned DEFAULT NULL,
`Id_StorageEngine` int(11) unsigned DEFAULT NULL,
`Id_User` int(11) unsigned DEFAULT NULL,
`Id_UserModified` int(11) unsigned DEFAULT NULL,
`FileType` varchar(20) NOT NULL DEFAULT '',
`FileTable` varchar(100) DEFAULT NULL,
`FileColumn` varchar(100) DEFAULT NULL,
`DeleteType` enum('nullmark','zeromark','deleterow') NOT NULL DEFAULT 'nullmark',
`PrefixFolder` varchar(50) NOT NULL DEFAULT '',
`FileName` varchar(255) NOT NULL,
`FileSize` int(11) NOT NULL,
`CopyrightInfo` varchar(50) DEFAULT NULL,
`CopyrightLink` varchar(100) DEFAULT NULL,
`DateAdded` datetime DEFAULT NULL,
`DateModified` datetime DEFAULT NULL,
`Is_Deleted` tinyint(1) unsigned NOT NULL DEFAULT '0',
`Disabled` tinyint(1) unsigned NOT NULL DEFAULT '0',
PRIMARY KEY (`Id`),
KEY `Id_User` (`Id_User`),
KEY `Id_UserModified` (`Id_UserModified`),
KEY `Id_StorageEngine` (`Id_StorageEngine`),
CONSTRAINT `titan_upload_file_ibfk_1` FOREIGN KEY (`Id_User`) REFERENCES `titan_user` (`Id`) ON DELETE SET NULL ON UPDATE CASCADE,
CONSTRAINT `titan_upload_file_ibfk_2` FOREIGN KEY (`Id_UserModified`) REFERENCES `titan_user` (`Id`) ON DELETE SET NULL ON UPDATE CASCADE,
CONSTRAINT `titan_upload_file_ibfk_3` FOREIGN KEY (`Id_StorageEngine`) REFERENCES `titan_config_storage_engine` (`Id`)
) ENGINE=InnoDB AUTO_INCREMENT=50 DEFAULT CHARSET=utf8;
CREATE TABLE `titan_user` (
`Id` int(11) unsigned NOT NULL AUTO_INCREMENT,
`Id_Image` int(11) unsigned DEFAULT NULL,
`Id_UserGroup` int(11) unsigned DEFAULT NULL,
`Email` varchar(255) NOT NULL,
`UserName` varchar(255) NOT NULL,
`Password` varchar(255) NOT NULL,
`Salt` varchar(255) NOT NULL,
`FirstName` varchar(100) NOT NULL DEFAULT '',
`MiddleName` varchar(20) DEFAULT NULL,
`LastName` varchar(100) NOT NULL DEFAULT '',
`FullName` varchar(200) NOT NULL DEFAULT '',
`NickName` varchar(50) DEFAULT NULL,
`FullNameType` enum('last_name_first','first_name_first') NOT NULL DEFAULT 'first_name_first',
`ActivationHash` varchar(255) NOT NULL DEFAULT '',
`RegistrationDate` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
`Activated` tinyint(1) unsigned NOT NULL DEFAULT '0',
`Blocked` tinyint(1) unsigned NOT NULL DEFAULT '0',
`Deleted` tinyint(1) unsigned NOT NULL DEFAULT '0',
`DeletionDate` datetime DEFAULT NULL,
`LoginType` enum('legacy','federated') NOT NULL DEFAULT 'legacy',
`FederatedLoginId` text NOT NULL,
`Cache_Permissions` text,
`Cache_UserOptions` text,
`LastLogin` datetime DEFAULT NULL,
`LastAction` datetime DEFAULT NULL,
PRIMARY KEY (`Id`),
UNIQUE KEY `UserName` (`UserName`),
UNIQUE KEY `Email` (`Email`),
KEY `Id_Image` (`Id_Image`),
KEY `titan_user_ibfk_2` (`Id_UserGroup`),
FULLTEXT KEY `Email_2` (`Email`,`UserName`,`FirstName`,`MiddleName`,`LastName`,`FullName`,`NickName`),
CONSTRAINT `titan_user_ibfk_1` FOREIGN KEY (`Id_Image`) REFERENCES `titan_upload_image` (`Id`) ON DELETE SET NULL ON UPDATE CASCADE,
CONSTRAINT `titan_user_ibfk_2` FOREIGN KEY (`Id_UserGroup`) REFERENCES `titan_user_group` (`Id`) ON UPDATE CASCADE
) ENGINE=InnoDB AUTO_INCREMENT=18 DEFAULT CHARSET=utf8;
Actually i think you need all the database
Hi Adrian,
Please provide a complete example of the described problem, something similar to the test case below – as you can see, multiple indexes are created for me, both on CREATE TABLE and on ALTER TABLE:
MariaDB [test]> SHOW CREATE TABLE child \G *************************** 1. row *************************** Table: child Create Table: CREATE TABLE `child` ( `id` int(11) DEFAULT NULL, `parent_id` int(11) DEFAULT NULL, `parent_subid` int(11) DEFAULT NULL, KEY `parent_id` (`parent_id`), KEY `parent_subid` (`parent_subid`), CONSTRAINT `child_ibfk_1` FOREIGN KEY (`parent_id`) REFERENCES `parent` (`id`) ON DELETE CASCADE, CONSTRAINT `child_ibfk_2` FOREIGN KEY (`parent_subid`) REFERENCES `parent` (`subid`) ON DELETE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=latin1 1 row in set (0.00 sec)MariaDB [test]> CREATE TABLE child2 ( -> id INT, -> parent_id INT, -> parent_subid INT -> ) ENGINE=InnoDB; Query OK, 0 rows affected (0.02 sec)MariaDB [test]> ALTER TABLE child2 -> ADD FOREIGN KEY (parent_id) REFERENCES parent(id), -> ADD FOREIGN KEY (parent_subid) REFERENCES parent(subid) -> ; Query OK, 0 rows affected (0.06 sec) Records: 0 Duplicates: 0 Warnings: 0 MariaDB [test]> SHOW CREATE TABLE child2 \G *************************** 1. row *************************** Table: child2 Create Table: CREATE TABLE `child2` ( `id` int(11) DEFAULT NULL, `parent_id` int(11) DEFAULT NULL, `parent_subid` int(11) DEFAULT NULL, KEY `parent_id` (`parent_id`), KEY `parent_subid` (`parent_subid`), CONSTRAINT `child2_ibfk_1` FOREIGN KEY (`parent_id`) REFERENCES `parent` (`id`), CONSTRAINT `child2_ibfk_2` FOREIGN KEY (`parent_subid`) REFERENCES `parent` (`subid`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1 1 row in set (0.00 sec)