1

我正在尝试在 mozilla sqlite 附加组件中执行此语句

alter table (select tbl_name from sqlite_master where rowid=1) add  GUID varchar

但这会遇到错误:

SQLiteManager:可能的 SQL 语法错误:alter table (select tbl_name from sqlite_master where rowid=1) add GUID varchar [ near "(": syntax error ] 异常名称:NS_ERROR_FAILURE 异常消息:组件返回失败代码:0x80004005 (NS_ERROR_FAILURE) [mozIStorageConnection.创建语句]

语句 :select tbl_name from sqlite_master where rowid=1 工作正常

4

1 回答 1

1

你不能这样做:在 SQL 中,表名和列名必须是嵌入在 SQL 字符串本身中的标识符。它们不能来自您查询的值,甚至不能来自查询参数。

需要选择表名,做alter table语句,然后分别执行。

于 2013-06-21T12:47:53.930 回答