2011-09-15 128 views

回答

29

我不這麼認爲。 "SQL As Understood By SQLite"頁面沒有提及表格或列註釋,也沒有提到CREATE TABLEALTER TABLE文檔。

此外,Unsupported SQL的維基頁面有這樣的:

2009-08-04:表和列註釋 - 我已經走遍了DOCO並不能找到關於申請意見表或他們的任何列。

是的,這是一個從2009年開始的維基頁面,但是該說明得到了其他文檔的支持。

但是,SQLite確實保留了您放入DDL的SQL註釋。如果你給這對sqlite3 CLI工具:

CREATE TABLE User 
     -- A table comment 
(
     uid INTEGER, -- A field comment 
     flags INTEGER -- Another field comment 
); 

然後你得到完全從.schema命令回:

sqlite> .schema 
CREATE TABLE User 
     -- A table comment 
(
     uid INTEGER, -- A field comment 
     flags INTEGER -- Another field comment 
); 

所以,你應該能夠僞造它,如果你能控制所使用的DDL創建你的表格。

+4

與使用'.schema'一樣,您可以使用以下語句獲得與SQL語句相同的結果: 'SELECT name,sql FROM sqlite_master WHERE type ='table'AND name ='{$ table}'ORDER BY名稱;' (其中$ table是表的名稱)。請參閱:http://stackoverflow.com/a/6617764/180733 – fooquency

0

當使用sqlite創建表(我在python中使用sqlite3)時,不支持COMMENT部分。

這失敗(完全的MySQL語法適用):

CREATE TABLE `Info` (
    `Test` VARCHAR(512) NOT NULL COMMENT 'Column info here' 
); 

這工作(在列聲明沒有COMMENT):

CREATE TABLE `Info` (
    `Test` VARCHAR(512) NOT NULL 
); 
0

有兩種方式提出意見SQLite中:

連字符

-- this is my comment 
SELECT * FROM employees; 

C風格

(我不知道如果這是原來的海報在說什麼,但是這是我一直在尋找,當我第一次發現這個問題。)