SQLite alter table包含select语句的结果

时间:2013-06-21 12:42:28

标签: ios database sqlite

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

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

但这会遇到错误:

SQLiteManager:可能的SQL语法错误:alter table(从sqlite_master中选择tbl_name,其中rowid = 1)添加GUID varchar [near“(”::syntax error] 例外名称:NS_ERROR_FAILURE 异常消息:组件返回失败代码:0x80004005(NS_ERROR_FAILURE)[mozIStorageConnection.createStatement]

语句:从sqlite_master中选择tbl_name,其中rowid = 1正常工作

1 个答案:

答案 0 :(得分:1)

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

您需要选择表名,制作alter table语句,然后单独执行。