반응형
GTFS에서 parent_station
필드는 stop_id
(자체 참조) 또는 NULL
에서 가져옵니다. 예를 들어 ( parent_station
은 NULL
일 수 있음),
SELECT stop_id, stop_name, parent_station FROM stops where stop_id='1970324837184617' OR parent_station='1970324837184617';
+------------------+----------------------+------------------+
| stop_id | stop_name | parent_station |
+------------------+----------------------+------------------+
| 1970324837184617 | Saint Agne-SNCF | |
| 3377699720880648 | Saint Agne-SNCF | 1970324837184617 |
| 3377699720880649 | Saint Agne-SNCF | 1970324837184617 |
| 3377699722011100 | Saint Agne-SNCF | 1970324837184617 |
| 3377699722011101 | Saint Agne-SNCF | 1970324837184617 |
| 3377699722914835 | Saint Agne Gare SNCF | 1970324837184617 |
+------------------+----------------------+------------------+
6 rows in set (0,01 sec)
다음을 사용하여 자체 참조 테이블을 만듭니다.
CREATE TABLE `stops` (
stop_id VARCHAR(255) NOT NULL PRIMARY KEY,
stop_code VARCHAR(255),
stop_name VARCHAR(255),
stop_desc VARCHAR(255),
stop_lat DECIMAL(8,6),
stop_lon DECIMAL(8,6),
location_type INT(2),
parent_station VARCHAR(255),
-- the field `parent_station` might be blank (NULL)
FOREIGN KEY parent_station REFERENCES stops(stop_id) -- self-referential table fields
);
그러나 문제가 발생하면
99 행의 오류 1064 (42000) : SQL 구문에 오류가 있습니다. MySQL 서버 버전에 해당하는 설명서에서 'FOREIGN KEY parent_station REFERENCES stops (stop_id)
근처에서 사용할 올바른 구문을 확인하십시오. ) '11 행
@Awita의 도움으로 구문을 수정하고 테이블이 성공적으로 생성되었습니다.
FOREIGN KEY (parent_station) REFERENCES stops(stop_id)
그러나 로컬 데이터를로드하는 동안 새로운 문제가 발생합니다.
LOAD DATA LOCAL INFILE 'stops.txt' INTO TABLE stops FIELDS TERMINATED BY ',' IGNORE 1 LINES;
오류:
ERROR 1452 (23000) at line 140: Cannot add or update a child row: a foreign key constraint fails (`paris_gtfs`.`stops`, CONSTRAINT `stops_ibfk_1` FOREIGN KEY (`parent_station`) REFERENCES `stops` (`stop_id`))
이 문제는 NULL parent_station
으로 인해 발생합니까?
해결 방법
간단한 구문 오류입니다. 이 시도:
FOREIGN KEY (parent_station) REFERENCES stops(stop_id)
참조 페이지 https://stackoverflow.com/questions/35633190
반응형
'MySql' 카테고리의 다른 글
MySQL 1292 잘못된 날짜 시간 값 (0) | 2020.11.12 |
---|---|
MySQL 오류 1064 : 'DEFAULT CHARACTER SET utf8' (0) | 2020.11.12 |
MySQL에 JSON으로 데이터 저장 (0) | 2020.11.12 |
MySQL mysqli에서 선택 쿼리를 실행하는 방법 (0) | 2020.11.12 |
MySQL nodejs에서 sql-injection을 방지하고 sequelize하는 방법은 무엇입니까? (0) | 2020.11.11 |
댓글