我正在尝试在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正常工作
答案 0 :(得分:1)
您不能这样做:在SQL中,表名和列名必须是嵌入在SQL字符串本身中的标识符。它们不能来自您查询的值,甚至不能来自查询参数。
您需要选择表名,制作alter table
语句,然后单独执行。