在MySQL Workbench中,您可以为MySQL数据库中的表和列添加注释。
Sqlite是否支持向表和列添加注释?
答案 0 :(得分:35)
我不认为这样。 "SQL As Understood By SQLite"页面未提及表格或列评论,也未提及CREATE TABLE或ALTER 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,那么您应该能够伪造它。
答案 1 :(得分: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
);
答案 2 :(得分:0)
我很欣赏这是一篇旧帖子,但就其价值而言,您可以在 SQLITE3、Python 和 Java 中创建表时添加注释。可能也适用于其他语言。
您需要在 sql 字符串中添加新行,就像在 SQLITE3 提示符下键入命令一样 -
sql_str = 'CREATE TABLE properties (\nproperty TEXT NOT NULL, -- A property\nvalue TEXT -- The value of the property\n);'
执行时,表的创建方式如下:
sqlite> .schema
创建表属性(
property TEXT NOT NULL, -- 一个属性
value TEXT -- 属性的值
);
我怀疑这是有效的,因为连接器实际上是通过命令提示符而不是某种 API 在命令中回显。