2013-11-26 53 views
0

當我嘗試輸入一些重要記錄時,我一直在收到以下錯誤消息。 關鍵'flightNo'的重複條目'EMIR2023'有沒有辦法暫時禁用phpMyAdmin中的重複條目?

在phpMyAdmin環境中有沒有辦法我可以禁用UNIQUE KEY,然後在插入記錄時激活它?

找到我的表的結構下面,我希望它能幫助

-- 
-- Table structure for table `flightSched` 
-- 

CREATE TABLE IF NOT EXISTS `flightSched` (
    `id` int(11) NOT NULL AUTO_INCREMENT, 
    `timePeriod` time DEFAULT '00:00:00', 
    `depOrArriv` varchar(9) DEFAULT NULL, 
    `flightNo` varchar(9) NOT NULL, 
    `airline` varchar(20) DEFAULT NULL, 
    `dest` varchar(30) DEFAULT NULL, 
    `origin` varchar(30) DEFAULT NULL, 
    `depature` time DEFAULT '00:00:00', 
    `don` set('Monday','Tuesday','Wednesday','Thursday','Friday','Saturday','Sunday') DEFAULT NULL, 
    `arrivalTime` datetime DEFAULT '0000-00-00 00:00:00', 
    `arrivalTimeSec` varchar(28) DEFAULT NULL, 
    `status` varchar(15) NOT NULL, 
    `image_type` varchar(25) DEFAULT NULL, 
    `image` blob NOT NULL, 
    `image_size` varchar(25) DEFAULT NULL, 
    `image_name` varchar(50) DEFAULT NULL, 
    PRIMARY KEY (`id`), 
    UNIQUE KEY `flightNo` (`flightNo`), 
    UNIQUE KEY `arrivalTime_2` (`arrivalTime`), 
    KEY `arrivalTime` (`arrivalTime`), 
    KEY `arrivalTime_3` (`arrivalTime`) 
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=537 ; 

期待您的回覆:-)

+1

[' INSERT INTO ... ON DUPLICATE KEY UPDATE ...'](http://dev.mysql.com/doc/refman/5.0/en/insert-on-duplicate.htm l) – deceze

+4

是 - 在結構頁面上,只刪除唯一索引然後重新添加它。這不是phpMyAdmin強加的限制,它是底層數據庫本身。 – LuckySpoon

+0

@LuckySpoon謝謝!你的建議就像魅力一樣。完成添加記錄後,如何在不篡改表格中的記錄的情況下添加記錄,而無需重新創建表格? – SirBT

回答

0

嘗試UNIQUE_CHECKS

SET unique_checks=0; 
... import operation ... 
SET unique_checks=1; 

check reference

+0

無法真正把這個工作,你可以在代碼中澄清? – SirBT

相關問題