我不确定我做错了什么。 MySQL并不是我的事情所以我认为我应该在这里寻求帮助。
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'
您还需要更多详情吗?
答案 0 :(得分: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'
也许你会考虑
要在加载操作期间忽略外键约束,请发出a 在执行LOAD DATA之前设置foreign_key_checks = 0语句。
表示walk_id
上的外键约束。