-1

I'm not sure what I have done wrong with this. MySQL isn't really my thing so I thought I should ask for some help here.

LOAD DATA LOCAL INFILE "D:/Database/FMA/walkdb_dataprogProgrammeCREATE TABLE      `Programme` (
`programme_id` int(11) NOT NULL AUTO_INCREMENT,
`walk_id` int(11) NOT NULL,
`programme_date` text NOT NULL,
`programme_starttime` date NOT NULL,
`programme_maxpart` int(3) NOT NULL,
 PRIMARY KEY (`programme_id`),
 KEY `walkprog_id_idx` (`walk_id`),
 CONSTRAINT `walkprog_id` FOREIGN KEY (`walk_id`) REFERENCES `Walk` (`walk_id`)
 ) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=latin1;
.csv"
INTO TABLE Programme 
FIELDS TERMINATED BY ','
LINES TERMINATED BY '\r\n' 

Do you need any more details?

4

1 回答 1

2

你把你的CREATE TABLE陈述混入了LOAD DATA INFILE陈述中。如果你想将这两者结合起来,你必须先创建你的表,因为LOAD DATA INFILE只会导入到现有的表中。

我认为应该是:

CREATE TABLE `Programme` (
    `programme_id` int(11) NOT NULL AUTO_INCREMENT,
    `walk_id` int(11) NOT NULL,
    `programme_date` text NOT NULL,
    `programme_starttime` date NOT NULL,
    `programme_maxpart` int(3) NOT NULL,
    PRIMARY KEY (`programme_id`),
    KEY `walkprog_id_idx` (`walk_id`),
    CONSTRAINT `walkprog_id` FOREIGN KEY (`walk_id`) REFERENCES `Walk` (`walk_id`)
 ) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=latin1;

其次是

LOAD DATA LOCAL INFILE "D:/Database/FMA/walkdb_dataprogProgramme.csv"
INTO TABLE Programme 
FIELDS TERMINATED BY ','
LINES TERMINATED BY '\r\n'

也许你会考虑

要在加载操作期间忽略外键约束,请在执行 LOAD DATA 之前发出 SET foreign_key_checks = 0 语句。

为您的外键约束walk_id

于 2014-07-18T23:40:48.570 回答