Заполняющий стол в Mysql - PullRequest
       27

Заполняющий стол в Mysql

0 голосов
/ 12 апреля 2020

Я пытаюсь заполнить таблицу, используя разные файлы .txt, но каждый раз, когда я хочу добавить или добавить новый файл, предыдущие файлы перезаписываются, не зная, почему это происходит.

Вот как я построил таблицу - я предполагаю, что с первичным ключом что-то не так

CREATE TABLE BONDS(
CUSIP varchar(15) NOT NULL,
Price decimal(8,2) NOT NULL,
Spot varchar(15),
Date_Priced varchar(55) not null,
Broker varchar(55) not null,
primary key(CUSIP)
);

Вот так я импортирую файл .txt

load data local infile 'c:/temp/test.txt'
into TABLE BONDS
FIELDS TERMINATED BY ';'

Спасибо за помощь

Ответы [ 2 ]

0 голосов
/ 12 апреля 2020

Просто реструктурируйте свою таблицу, добавьте новый идентификатор столбца int, удалите предыдущее ограничение первичного ключа и добавьте id в качестве первичного ключа, а затем используйте приведенный ниже запрос

load data local infile 'c:/temp/test.txt'
into TABLE BONDS (@dummy, CUSIP,Price,Spot,Date_Priced,Broker)
FIELDS TERMINATED BY ';'
0 голосов
/ 12 апреля 2020

Возможно, вам следует изменить столбец первичного ключа.

Ваш первичный ключ должен содержать целое число AUTO_INCREMENT.

CREATE TABLE Persons (
Personid int NOT NULL AUTO_INCREMENT,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Age int,
PRIMARY KEY (Personid)
);

[1] Подробнее об AUTO_INCREMENT https://www.w3schools.com/sql/sql_autoincrement.asp

[2] Подробнее о НАГРУЗКЕ ДАННЫХ https://tecfa.unige.ch/guides/mysql/man/manuel_LOAD_DATA.html

...