【发布时间】:2013-09-26 00:58:21
【问题描述】:
我需要检查一列是否存在,如果不存在则添加它。从我的研究看来,sqlite 不支持 IF 语句,应该使用 case 语句。
这是我目前所拥有的:
SELECT CASE WHEN exists(select * from qaqc.columns where Name = "arg" and Object_ID = Object_ID("QAQC_Tasks")) = 0 THEN ALTER TABLE QAQC_Tasks ADD arg INT DEFAULT(0);
但我收到错误:“ALTER”附近:语法错误。
有什么想法吗?
【问题讨论】:
-
如果您使用 C/C++ API,请检查 sqlite3_table_column_metadata() 函数。如果列存在则返回 SQLITE_OK,如果不存在则返回 SQLITE_ERROR。
标签: sqlite