Java JDBC를 사용하여 MySql에 2 개의 테이블을 만들려고하는데 첫 번째 테이블은 정상적으로 실행되지만 두 번째 테이블 생성 명령을 실행하면 오류가 발생합니다. 문제는 외래 키 정의에서 누락 된 것이 확실하지 않은 것처럼 보입니다.Java에서 테이블 문을 생성하는 중 오류가 발생 했습니까?
오류 :
com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException:
You have an error in your SQL syntax;
check the manual that corresponds to your MySQL server
version for the right syntax to use near 'FOREIGN KEY(UniqueBusID)
REFERENCES BUS_3_CLEARBROOK_UFV_GOLINE_TO_UFV_BusDetai' at line 1
코드
String table_UniqueBusNameTimings = BusDetails+"_BusTimings";
String timings= "Timings";
String dayofweek = "DayOfWeek";
String FuniqueBusID = "UniqueBusID";
String table_UniqueBusNameDetails = BusDetails+"_BusDetails";
String PuniqueBusID = "UniqueBusID";
String StopNames = "StopNames" ;
String sql1 = "CREATE TABLE "+table_UniqueBusNameDetails+
"(UniqueBusID VARCHAR(255) not NULL, " +
" StopNames VARCHAR(1000), " +
" PRIMARY KEY (UniqueBusID))";
String sql2 = "CREATE TABLE "+table_UniqueBusNameTimings+
"(Timings VARCHAR(255) , " +
" DayOfWeek VARCHAR(25), " +
" UniqueBusID VARCHAR(255) "+
" FOREIGN KEY(UniqueBusID) REFERENCES "+table_UniqueBusNameDetails+"(UniqueBusID))";
stmt.executeUpdate(sql1);
stmt.executeUpdate(sql2);
나중에 코드를 포맷하는 데 더 많은 시간을 할애하십시오. 예고편을 제출하기 전에 다른 사람들에게 어떻게 보이는지 미리 볼 수 있습니다. 스택 오버플로가 탭과 함께 멋지게 재생되지 않는다는 점에 유의하십시오. 대신 공백을 사용하십시오. –
'UniqueBusID VARCHAR (255)'후 쉼표가 누락 된 것 같습니다 –