Код: Выделить всё
CREATE TABLE IF NOT EXISTS `Orders` (
`ID` int(11) NOT NULL AUTO_INCREMENT,
`OrderDate` int(11) DEFAULT '0',
PRIMARY KEY (`ID`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=2 ;
CREATE TABLE IF NOT EXISTS `HostingOrders` (
`ID` int(11) NOT NULL AUTO_INCREMENT,
`OrderID` int(11) DEFAULT NULL,
PRIMARY KEY (`ID`),
KEY `HostingOrdersOrderID` (`OrderID`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=6 ;
ALTER TABLE `HostingOrders`
ADD CONSTRAINT `HostingOrdersOrderID` FOREIGN KEY (`OrderID`) REFERENCES `Orders` (`ID`) ON DELETE CASCADE ON UPDATE CASCADE;
Код: Выделить всё
NULL,NULL
т.е. - поле OrderID - это внешний ключ.
то, что я могу в него воткнуть NULL и MySQL это лопает - это нормальное поведение или фича?
(меня интересует с позиции портирования - щас я на 5.1 - а завтра может на 5.5 или вообще MariaDB перееду...)