Я просто изучаю sqlpro, и я полностью в тупике.Ошибка повторной записи sqlpro
Я пытаюсь сделать это:
insert into vehicleModel(vehicleModel)
(select distinct(model) from vehicle
order by model);
я получаю это -
Дублировать запись 'Экспресс-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;
Не относится здесь, но: 'distinct' это *** НЕ *** функцию. Он всегда применяется к столбцу ** all ** в списке выбора. Написание 'distinct (model)' не имеет смысла. –
Можете ли вы показать нам определение «автомобильмодель» и определение его ключей и индексов? Также: «sqlpro», похоже, является клиентским инструментом SQL, а не СУБД. Итак, какую систему СУБД вы используете? –
создать таблицу vehicleModel (vehicleModelid Int не нулевой auto_increment, vehicleModel VARCHAR (30) NOT NULL, первичный ключ (vehicleModelid) ) двигатель = InnoDB по умолчанию кодировка = latin1; – xeperrx