我想创建一个小型数据库,但每次都收到错误:
下面是MySQL代码:
DROP TABLE IF EXISTS `orders`;
CREATE TABLE `orders` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`customer` varchar(25) NOT NULL DEFAULT '',
`address1` varchar(100) DEFAULT NULL,
`city` varchar(25) NOT NULL DEFAULT '',
`postcode` varchar(25) NOT NULL DEFAULT '',
`country` varchar(25) NOT NULL DEFAULT '',
`amount` varchar(11) NOT NULL DEFAULT '',
`status` varchar(10) NOT NULL DEFAULT '',
`deleted` varchar(10) NOT NULL DEFAULT '',
`date` datetime NOT NULL,
`last_modified` datetime DEFAULT NULL,
`customers_id` int(11) NOT NULL,
PRIMARY KEY (id),
CONSTRAINT orders_customers_id_fk FOREIGN KEY (customers_id)
REFERENCES customers (id) ON DELETE SET NULL);
LOCK TABLES `orders` WRITE;
/*!40000 ALTER TABLE `orders` DISABLE KEYS */;
/*!40000 ALTER TABLE `orders` ENABLE KEYS */;
UNLOCK TABLES;
# Dump of table customers
# ------------------------------------------------------------
DROP TABLE IF EXISTS `customers`;
CREATE TABLE `customers` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`role` varchar(25) NOT NULL DEFAULT '',
`name` varchar(50) NOT NULL DEFAULT '',
`surname` varchar(50) NOT NULL DEFAULT '',
`email` varchar(50) NOT NULL DEFAULT '',
`password` char(255) NOT NULL DEFAULT '',
`created_at` datetime NOT NULL ON UPDATE CURRENT_TIMESTAMP,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
我try 了外键代码的语法,但仍然有相同的错误,我不知道为什么?
我得到了这个错误:
#1005 - Can't create table `management`.`orders` (errno: 150 "Foreign key constraint is incorrectly formed")