0
錯誤 我在一臺服務器上有一個工作站點。我決定把它搬到另一家公司。我用phpmyadmin導出數據庫並上傳到新服務器中。每次我嘗試導入數據庫我收到此錯誤:Contraint sql錯誤:#1005 - 無法創建表
SQL查詢:
--
-- Constraints for table `seller_cart`
--
ALTER TABLE `seller_cart`
ADD CONSTRAINT `seller_cart_ibfk_1`
FOREIGN KEY (`subscription`)
REFERENCES `subscription` (`id`) ,
ADD CONSTRAINT `seller_cart_ibfk_2`
FOREIGN KEY (`user`)
REFERENCES `users` (`user_id`)
ON DELETE CASCADE
ON UPDATE CASCADE ,
ADD CONSTRAINT `seller_cart_ibfk_3`
FOREIGN KEY (`featured_item`)
REFERENCES `featured_item` (`item`)
ON DELETE CASCADE
ON UPDATE CASCADE ;
MySQL表示:文件
#1005 - Can't create table 'project123.#sql-12050_1d' (errno: 150) (Details...)
這裏的賣家購物車的結構:
--
-- Table structure for table `seller_cart`
--
CREATE TABLE IF NOT EXISTS `seller_cart` (
`id` bigint(20) NOT NULL AUTO_INCREMENT,
`user` bigint(20) NOT NULL,
`subscription` bigint(20) DEFAULT NULL,
`description` varchar(200) COLLATE utf8_unicode_ci DEFAULT NULL,
`item_listings` text COLLATE utf8_unicode_ci,
`featured_item` bigint(20) DEFAULT NULL,
`quantity` int(2) NOT NULL,
`price` float NOT NULL,
PRIMARY KEY (`id`),
KEY `user` (`user`),
KEY `subscription` (`subscription`),
KEY `featured_item` (`featured_item`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=1 ;
可能是什麼問題?我剛剛導出並導入了相同的數據庫。甚至在本地主機上也嘗試過同樣的問題。
結構: CREATE TABLE IF NOT EXISTS'seller_cart'( 'id' BIGINT(20)NOT NULL AUTO_INCREMENT, 'user' bigint(20)NOT NULL, 'subscription' bigint(20)DEFAULT NULL, 'description' varchar(200)C OLLATE utf8_unicode_ci DEFAULT NULL, 'item_listings'文本COLLATE utf8_unicode_ci, 'featured_item' BIGINT(20)DEFAULT NULL, 'quantity' INT(2)NOT NULL, 'price'浮NOT NULL, PRIMARY KEY('id' ), KEY'user'('user'), KEY'subscription'('subscription'), KEY'featured_item'('featured_item') )ENGINE = InnoDB DEFAULT CHARSET = utf8 COLLATE = utf8_unicode_ci AUTO_INCREMENT = 1; –
那麼,索引必須在父列上的父表中定義。 –