試圖用外鍵創建幾個新表,但我陷入了困境,這裏是代碼和我收到的錯誤,我認爲它有一些東西 用我的外鍵?MYSQL使用外鍵產生錯誤創建表
#1064 - You have an error in your SQL syntax;
check the manual that corresponds to your MySQL server version for the
right syntax to use near '(`CustomerID`),
) ENGINE=InnoDB DEFAULT CHARSET=UTF8 AUTO_INCREMENT=1' at line 10
DROP TABLE IF EXISTS `Customer`;
CREATE TABLE `Customer` (
`CustomerID` INT UNSIGNED AUTO_INCREMENT,
`Customer_Number` VARCHAR(100),
`Customer_Name` VARCHAR(100),
`Website` VARCHAR(255),
`Logo` VARCHAR(100),
PRIMARY KEY(`CustomerID`)
) ENGINE=InnoDB DEFAULT CHARSET=UTF8 AUTO_INCREMENT=1;
DROP TABLE IF EXISTS `Reports`;
CREATE TABLE `Reports` (
`ReportsID` INT UNSIGNED AUTO_INCREMENT,
`Role` VARCHAR(70),
`Region` VARCHAR(70),
`Inpection_Type` VARCHAR(70),
`CustomerID` INT UNSIGNED,
`Report_Date` DATE NOT NULL DEFAULT '0000-00-00',
`Order_Date` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
`Customer_Name` VARCHAR(100),
`Customer_Division` VARCHAR(70),
`Memo` VARCHAR(255),
`Billing_Key` VARCHAR(70),
PRIMARY KEY(`ReportsID`),
FOREIGN KEY (`CustomerID`) REFERENCES Customer(`CustomerID`) ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=UTF8 AUTO_INCREMENT=1;
DROP TABLE IF EXISTS `CustomerContact`;
CREATE TABLE `CustomerContact` (
`ContactID` INT UNSIGNED AUTO_INCREMENT,
`CustomerID` INT UNSIGNED,
`Division` VARCHAR(100),
`Contact` VARCHAR(100),
`Address` VARCHAR(255),
`Phone` VARCHAR(100),
`Fax` VARCHAR(100),
`Email` VARCHAR(100),
`Mobile` VARCHAR(100),
PRIMARY KEY(`ContactID`),
FOREIGN KEY (`CustomerID) REFERENCES Customer(`CustomerID`) ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=UTF8 AUTO_INCREMENT=1;
'Logo varchar()'和'primary key'之間缺少逗號嗎? – biziclop 2012-03-01 21:49:19
@biziclop修復後效果相同 – ehime 2012-03-01 21:53:29