Sono abbastanza nuovo in SQLite 3 e solo ora ho dovuto aggiungere una colonna a un tavolo esistente che avevo. Ho fatto questo facendo: ALTER TABLE thetable ADD COLUMN category;
.Modifica un tipo di colonna in sqlite3
Ovviamente, ho dimenticato di specificare il tipo di colonna. La prima cosa che stavo pensando di fare è stata far cadere quella colonna e poi riaggiungerla. Tuttavia, sembra che SQLite non abbia un modo semplice per farlo, e avrei dovuto fare il backup della tabella e ricrearla senza la colonna.
Questo sembra complicato, e mi chiedevo se ci fosse solo un modo di modificare/aggiungere il tipo di una colonna. Immagino di sì, ma la mia ricerca in giro non ha dato risultati, essendo nuova per SQLite, immagino che fosse dovuto al fatto che la mia formulazione non era nella query.
Quindi, se non avessi definito un tipo, avrei comunque potuto inserire del testo? Ovviamente più tardi, quando distribuirò in produzione, specificherò esplicitamente il tipo (testo), ma per ora dovrei andare bene? –
Sì. È possibile inserire valori non di testo anche in quella colonna: "SQLite utilizza un sistema di tipo dinamico più generale: in SQLite, il tipo di dati di un valore è associato al valore stesso, non al suo contenitore". (dal mio secondo link) Specificare i tipi di colonne ha molto meno importanza in SQLite rispetto ad altri RDBM. –
Questo è vero ... ma se successivamente crei altre tabelle con il tipo di dati che avresti usato, allora le tue query di join non saranno in grado di utilizzare gli indici perché le colonne non avranno lo stesso tipo – DallinDyer