我只是在学习sqlpro,我完全不知所措。
我想这么做:
insert into vehicleModel(vehicleModel)
(select distinct(model) from vehicle
order by model);我一直收到这个-
重复条目'Express 2500 2WD转换Ca‘的关键字'vehicleModel’
如果我负责-
select * from vehicle
where model = 'Express 2500 2WD Conversion Ca';我什么也得不到。
有什么建议吗?
表的定义是:
create table vehicleModel (
vehicleModelid int not null auto_increment,
vehicleModel varchar(30) not null,
primary key (vehicleModelid)
)
engine = InnoDB default charset=latin1;我从这里拉-
CREATE TABLE `vehicle` (
`vehicleId` int(11) NOT NULL DEFAULT '0',
`make` varchar(255) DEFAULT NULL,
`model` varchar(255) DEFAULT NULL,
`year` int(11) DEFAULT NULL,
`cylinders` int(11) DEFAULT NULL,
`displacement` varchar(255) DEFAULT NULL,
`drive` varchar(255) DEFAULT NULL,
`engId` int(11) DEFAULT NULL,
`eng_dscr` varchar(255) DEFAULT NULL,
`trany` varchar(255) DEFAULT NULL,
`mpgHighway` varchar(255) DEFAULT NULL,
`mpgCity` varchar(255) DEFAULT NULL,
`fuelCostAnnual` int(11) DEFAULT NULL,
`fuelType` varchar(255) DEFAULT NULL,
`fuelType1` varchar(255) DEFAULT NULL,
`VClass` varchar(255) DEFAULT NULL,
`mpgh` decimal(10,2) DEFAULT NULL,
`mpgc` decimal(10,2) DEFAULT NULL,
PRIMARY KEY (`vehicleId`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;发布于 2016-02-14 19:03:05
编辑:您的文本被截断为30个最大字符。很可能情况是,在vehicle.model 中有两个模型,一旦截断,其值就相同。
首先检查表中是否已经有条目。您要检查的查询看起来不正确,因此您将使用以下内容:
SELECT * FROM vehicleModel WHERE vehicleModel = 'Express 2500 2WD Conversion Ca';
表中可能已经有该记录,这就是不能插入副本的原因。
您可以删除此记录或表中的所有记录,然后再次尝试插入,如下所示:
DELETE FROM vehicleModel WHERE vehicleModel = 'Express 2500 2WD Conversion Ca';
INSERT INTO vehicleModel (vehicleModel) (SELECT DISTINCT model FROM vehicle ORDER BY model);https://stackoverflow.com/questions/35395450
复制相似问题