У меня есть таблица, в которой есть имя столбца с SP varchar(10) NOT NULL
. Я хочу, чтобы этот столбец всегда был уникальным, поэтому я создал уникальный индекс в этом столбце. Моя схема таблицы следующим образом:изменить таблицу stat для вставки дубликата в другую таблицу
CREATE TABLE IF NOT EXISTS `tblspmaster` (
`CSN` bigint(20) NOT NULL AUTO_INCREMENT,
`SP` varchar(10) NOT NULL,
`FileImportedDate` date NOT NULL,
`AMZFileName` varchar(50) NOT NULL,
`CasperBatch` varchar(50) NOT NULL,
`BatchProcessedDate` date NOT NULL,
`ExpiryDate` date NOT NULL,
`Region` varchar(50) NOT NULL,
`FCCity` varchar(50) NOT NULL,
`VendorID` int(11) NOT NULL,
`LocationID` int(11) NOT NULL,
PRIMARY KEY (`CSN`),
UNIQUE KEY `SP` (`SP`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=10000000000 ;
Теперь я хочу, что если кто-то пытается вставить дубликат записи, то, что запись должна быть вставлена во вторичное имя таблицы tblDuplicate
.
Я прошел через этот вопрос MySQL - ignore insert error: duplicate entry, но я не уверен, что вместо
INSERT INTO tbl VALUES (1,200) ON DUPLICATE KEY UPDATE value=200;
может я вставить повторяющуюся строку в другую таблицу?
Какие изменения необходимо сделать в главной схеме таблицы или столбце индекса?
** Примечание: Данные будут вставлены путем импорта первенствовать или CSV-файлов и файлов Excel обычно содержит 500k 800 к записям, но там будет только один один столбец **
Можете ли вы использовать хранимую процедуру для вставки/обновления вместо прямых операторов SQL? Если это так, хранимая процедура может обрабатывать логику, для которой таблица должна вставляться в –
. Примечание. Данные будут вставлены путем импорта файлов excel или csv из службы окна. любая идея, как я могу это реализовать? – rahularyansharma