Поэтому в основном я создал базу данных с одной таблицей внутри (только для целей тестирования), имеющие 2 элементов (первый VARCHAR (255) и возраст Integer), как это:JAVA & MySQL нежелательная дополнительная колонка
protected void createTableExamPeriod() throws SQLException {
//STEP 4: Execute a query
System.out.println("Creating table in given database...");
stmt = conn.createStatement();
String drop = "DROP TABLE IF EXISTS REGISTRATION ";
String table = "CREATE TABLE IF NOT EXISTS REGISTRATION " +
" (first VARCHAR(255), " +
" age INTEGER)";
stmt.executeUpdate(drop);
stmt.executeUpdate(table);
populateExamPeriodTable();
System.out.println("Created table in given database...");
}
Но когда я смотрю в моей базе данных, есть дополнительный столбец, называемый «Новый»:
так что мой вопрос, как я могу избавиться от этой дополнительной колонки, как и сейчас, я не могу вставить «правильное» количество аргументов внутри него, из-за этого дополнительного столбца, когда я делаю:
protected void populateExamPeriodTable() throws SQLException {
Statement stmt = conn.createStatement();
String insertSql = "INSERT REGISTRATION VALUES(3 + 2 + 5)";
stmt.executeUpdate(insertSql);
}
Вашего 'INSERT' заявление не работает, потому что только вы предоставили **-** значение, и эта таблица имеет два столбца , С вашим 'INSERT', какое значение вы бы ожидали от столбца' first'? – Andreas
Получил! Спасибо! – user3153278
'3 + 2 + 5' - это выражение, которое оценивается как' 10', поэтому вы говорите «ВСТАВЛЯЕМЫЕ ЗНАЧЕНИЯ РЕГИСТРАЦИИ (10)». Несколько значений должны быть разделены запятой (','), а ваше первое значение должно быть строковым литералом, так как столбец «VARCHAR», что означает, что вы должны использовать: 'INSERT REGISTRATION VALUES ('Hello', 10)' – Andreas