Как включить два внешних ключа в таблицу в jdbc? - PullRequest
0 голосов
/ 31 октября 2019

Я использую JDBC в Eclipse IDE, я хочу поместить два внешних ключа в мою таблицу 3, один ссылается на первичный ключ в таблице 1, а другой - на первичный ключ в таблице 2. Когда я только ставлюодин внешний ключ ограничивает любые ссылки на table1 или table 2, он работает нормально, но когда я включаю два, это дает мне исключение sql, как указано ниже:

java.sql.SQLSyntaxErrorException: у вас есть ошибка в вашемСинтаксис SQL;проверьте руководство, соответствующее вашей версии сервера MySQL, на предмет правильного синтаксиса для использования рядом с «ссылками внешнего ключа (T2) Table2 (T2))» в строке 1

String createString =
// TABLE 1
"CREATE TABLE " + this.tableName + " ( " +
                "T1 varchar(50) NOT NULL PRIMARY KEY )";   
// TABLE 2
"CREATE TABLE " + this.tableName + " ( " +`enter code here`
                "T2 varchar(50) NOT NULL PRIMARY KEY )"; 
// TABLE 3
"CREATE TABLE " + this.tableName + " ( " +
                "T1 varchar(50) " +
                "T2 varchar(50) " +
                "foreign key(T1) references Table1 (T1)" +
                "foreign key(T2) references Table2(T2) )";

1 Ответ

1 голос
/ 31 октября 2019

Во-первых, это на самом деле вопрос MySQL, не связанный с Java / JDBC. Во-вторых, и, что более важно, вы, похоже, не используете правильный синтаксис, который был бы ...

CREATE TABLE TableName ( 
    T1 varchar(50),
    T2 varchar(50),
    foreign key(T1) references Table1(T1),
    foreign key(T2) references Table2(T2) 
);

Отформатированный для вашего кода, это выглядело бы так:

String createString = "CREATE TABLE " + this.tableName + " ( " +
    "   T1 varchar(50)," +
    "   T2 varchar(50)," +
    "   foreign key(T1) references Table1(T1)," +
    "   foreign key(T2) references Table2(T2));";

Вы пропустили запятые после каждого элемента в списке элементов для вашего заявления CREATE TABLE.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...