Как вставить только один столбец в таблицу SQL? - PullRequest
2 голосов
/ 02 июля 2019

Я пытаюсь вставить значение только в один столбец. Как я могу сделать это, не требуя ввода во все остальные значения столбцов?

PreparedStatement ps = DbHelp.prepareStatement("INSERT INTO Player_Data VALUES (?)", db.getConnection());
                ps.setString(1, e.getPlayer().getUniqueId().toString());
                ps.executeUpdate();

Я использую это для добавления столбца к существующей таблице:

String updateTable = "ALTER TABLE Player_Data ADD COLUMN " + name + " int(10) NULL;";

Я ожидал, что это вставит в таблицу только первое значение, а остальные оставят нулевым. Но я на самом деле получаю это сообщение об ошибке: [SQLITE_ERROR] SQL error or missing database (table Player_Data has 3 columns but 1 values were supplied)

Я понимаю, что он просит меня ввести значения для нескольких столбцов, но мне нужно только вставить его в один и оставить остальные как нулевые или предпочтительно иметь значение по умолчанию.

1 Ответ

2 голосов
/ 02 июля 2019

Вам следует избегать "слепых вставок" и явно указывать список столбцов:

INSERT INTO Player_Data(column_name) VALUES (?);

-- this would work as long as other columns has:
-- identity property/default constraint/nullable
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...