Я создал таблицу со следующим определением:
CREATE TABLE vacayhome.photo (
id INT NOT NULL AUTO_INCREMENT,
url_path CHAR NOT NULL,
caption CHAR NOT NULL,
space_type CHAR NOT NULL,
is_main BOOLEAN NOT NULL,
listing_id INT NOT NULL,
PRIMARY KEY (id),
FOREIGN KEY (listing_id) REFERENCES listing (id)
ON UPDATE RESTRICT
);
Данные, которые я пытаюсь вставить в эту таблицу, имеют следующую форму:
url_path,caption,space_type,is_main,listing_id
JFK/015ec48e93480.jpg,An interior designer dream,,true,10000000
JFK/9184bd57e9f80.jpg,"Ready for you, YASS",,false,10000000
BCN/5ccd9b138c76.jpg,"Stay -- you're welcome",,false,10000001
BCN/5fbb3a5ac2b30.jpg,Warm sunlight throughout,,false,10000001
И это мой оператор LOAD DATA в пустую таблицу из документации MariaDB и MySQL:
ALTER TABLE photo DISABLE KEYS;
BEGIN;
LOAD DATA INFILE '/path/to/photos.csv' INTO TABLE photo
FIELDS
OPTIONALLY ENCLOSED BY '"'
TERMINATED BY ','
LINES
TERMINATED BY '\n'
IGNORE 1 ROWS (url_path,caption,space_type,is_main,listing_id);
SET id=NULL;
COMMIT;
ALTER TABLE photo ENABLE KEYS;
OPTIONALLY ENCLOSED BY используется для столбцов CHAR с запятой в тексте и IGNORE 1 ROWS используется для игнорирования строки заголовка.
Когда я пытаюсь загрузить данные, я получаю следующую ошибку:
ERROR 1193 (HY000) at line 33: Unknown system variable 'id'
Я также пытался добавить SET id = NULL из ответов в других сообщениях StackOverflow, таких как этот . Что я делаю не так?