Я попытался вставить эти данные в свою таблицу в postgres, но я получаю эту ошибку: ERROR: синтаксическая ошибка в или рядом с "левым". Ниже приведена моя вставка и следующие параметры...
public static void Add(int i, int p) throws SQLException{
String path = p + "/";
st = "INSERT INTO melvin_ifis_network (link_id, length, area, up_area, elevation, links_drop, longest_channel_length, to_border, left, right, parent_link, travel_time07, layer, ial, ia_connected, h_order, ia_outlet, branch_layer, memory, branch, model) values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)";
state = connection.prepareStatement(st);
state.setInt(1, i);
state.setInt(2, 0);
state.setInt(3, 0);
state.setInt(4, 0);
state.setInt(5, 0);
state.setInt(6, 0);
state.setInt(7, 0);
state.setInt(8, 0);
state.setInt(9, 0);
state.setInt(10, 0);
state.setInt(11, p);
state.setDouble(12, 0.0);
state.setInt(13, 0);
state.setBoolean(14, true);
state.setBoolean(15, true);
state.setInt(16, 0);
state.setBoolean(17, false);
state.setInt(18, 0);
state.setInt(19, 0);
state.setInt(20, 0);
state.setBoolean(21, true);
state.executeUpdate();
}
Вы получаете эту ошибку, потому что left, right
- резервное слово. Вам придется избегать их, используя двойную кавычку " "
как "left"
и "right"
left
(и right
) является зарезервированным словом. Вы должны процитировать это: "left"
Более подробную информацию о правилах об идентификаторах см. В руководстве: http://www.postgresql.org/docs/current/static/sql-syntax-lexical.html#SQL-SYNTAX-IDENTIFIERS