2 votes

Comment insérer une seule colonne dans une table SQL ?

J'essaie d'insérer une valeur dans une seule colonne. Comment puis-je le faire sans avoir à saisir les valeurs de toutes les autres colonnes ?

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

Je l'utilise pour ajouter une colonne au tableau existant :

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

Je m'attendais à ce qu'il n'insère dans la table que la première valeur et laisse les autres comme nulles. Mais je reçois en fait ce message d'erreur : [SQLITE_ERROR] SQL error or missing database (table Player_Data has 3 columns but 1 values were supplied)

Je comprends qu'il me demande de saisir des valeurs pour plusieurs colonnes, mais j'ai besoin de l'insérer uniquement dans une colonne et de laisser les autres comme nulles ou, de préférence, avec une valeur par défaut.

2voto

lad2025 Points 38168

Vous devez éviter "inserts aveugles" et spécifier explicitement la liste des colonnes :

INSERT INTO Player_Data(column_name) VALUES (?);

-- this would work as long as other columns has:
-- identity property/default constraint/nullable

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X