In MySQL Workbench è possibile aggiungere commenti a tabelle e colonne in un database MySQL.Sqlite: aggiunta di commenti a tabelle e colonne?
Sqlite supporta l'aggiunta di commenti a tabelle e colonne?
In MySQL Workbench è possibile aggiungere commenti a tabelle e colonne in un database MySQL.Sqlite: aggiunta di commenti a tabelle e colonne?
Sqlite supporta l'aggiunta di commenti a tabelle e colonne?
Non credo di sì. La pagina "SQL As Understood By SQLite" non menziona i commenti di tabelle o colonne, né la documentazione CREATE TABLE o ALTER TABLE.
Inoltre, la pagina wiki Unsupported SQL ha questo:
2009-08-04: Tavolo e commenti delle colonne - Ho perlustrato il doco e non riesce a trovare nulla di applicare commenti alle tabelle o le loro colonne.
Sì, è una pagina wiki a partire dal 2009, ma la nota è supportato dal resto della documentazione.
Tuttavia, SQLite conserva i commenti SQL inseriti nel DDL. Se alimenti questo allo strumento sqlite3
CLI:
CREATE TABLE User
-- A table comment
(
uid INTEGER, -- A field comment
flags INTEGER -- Another field comment
);
Quindi si ottiene esattamente che di ritorno da un comando .schema
:
sqlite> .schema
CREATE TABLE User
-- A table comment
(
uid INTEGER, -- A field comment
flags INTEGER -- Another field comment
);
così si dovrebbe essere in grado di fingere se è possibile controllare il DDL utilizzato per creare le tue tabelle.
Quando si crea una tabella utilizzando sqlite (sto usando sqlite3
in python), la sezione COMMENT
non è supportata.
Questo fallisce (lavora in sintassi completa MySql):
CREATE TABLE `Info` (
`Test` VARCHAR(512) NOT NULL COMMENT 'Column info here'
);
Questo funziona (non COMMENT
nella dichiarazione di colonna):
CREATE TABLE `Info` (
`Test` VARCHAR(512) NOT NULL
);
Ci sono due modi per fare commenti in SQLite:
trattini
-- this is my comment
SELECT * FROM employees;
C-style
(non sono sicuro se questo è ciò che il poster originale stava parlando, ma questo è quello che cercavo quando ho trovato questa domanda.)
Oltre a utilizzare '.schema', è possibile ottenere lo stesso risultato di un'istruzione SQL utilizzando: ' SELECT name, sql FROM sqlite_master WHERE type = 'table' AND name = '{$ table}' ORDINA DA nome; ' (dove $ table è il nome della tabella). Vedi: http://stackoverflow.com/a/6617764/180733 – fooquency