2013-11-26 50 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

相关问题