如果列没有';追加表时不存在(python)
我在写SQL数据库中的行 然而,有时有一个新特性还不是SQL数据库中的一列,因此我得到一个错误如果列没有';追加表时不存在(python),python,sqlite,pandas,Python,Sqlite,Pandas,我在写SQL数据库中的行 然而,有时有一个新特性还不是SQL数据库中的一列,因此我得到一个错误 有没有一种方法可以将一行写入SQL并在它还不存在时自动添加一个新列?使用Python,您可以执行以下操作: def将列添加到表(c,表名,列名,列类型): 对于c.execute('PRAGMA table_info({}').format(table_name))中的行: 如果行[1]==列名称: #print({}列已经以{}格式存在(列名称、表名称)) 打破 其他: #打印('addcolumn
有没有一种方法可以将一行写入SQL并在它还不存在时自动添加一个新列?使用Python,您可以执行以下操作:
def将列添加到表(c,表名,列名,列类型):
对于c.execute('PRAGMA table_info({}').format(table_name))中的行:
如果行[1]==列名称:
#print({}列已经以{}格式存在(列名称、表名称))
打破
其他:
#打印('addcolumn{}to{}'。格式(column_name,table_name))
c、 execute('ALTER TABLE{}ADD COLUMN{}'。格式(表名称、列名称、列类型))
c=db.cursor()
将列添加到表(c,'mytable','newcolumn','INTEGER')
使用Python,您可以执行以下操作:
def将列添加到表(c,表名,列名,列类型):
对于c.execute('PRAGMA table_info({}').format(table_name))中的行:
如果行[1]==列名称:
#print({}列已经以{}格式存在(列名称、表名称))
打破
其他:
#打印('addcolumn{}to{}'。格式(column_name,table_name))
c、 execute('ALTER TABLE{}ADD COLUMN{}'。格式(表名称、列名称、列类型))
c=db.cursor()
将列添加到表(c,'mytable','newcolumn','INTEGER')
假设表名为MY_table
您需要添加BLOB列MY_列,默认值为0
hasColumn = 0
for row in self.conn.execute('PRAGMA table_info(MY_TABLE)'):
if row[1] == 'MY_COLUMN':
hasColumn = 1
break
if(hasColumn == 1):
self.conn.execute('ALTER TABLE MY_TABLE ADD COLUMN MY_COLUMN BLOOB DEFAULT 0 ')
假设表名是MY_表 您需要添加BLOB列MY_列,默认值为0
hasColumn = 0
for row in self.conn.execute('PRAGMA table_info(MY_TABLE)'):
if row[1] == 'MY_COLUMN':
hasColumn = 1
break
if(hasColumn == 1):
self.conn.execute('ALTER TABLE MY_TABLE ADD COLUMN MY_COLUMN BLOOB DEFAULT 0 ')
您需要更改表以添加列。这可以在SQL中完成,如果不存在。。。其他的或case语句。您需要更改表以添加列。这可以在SQL中完成,如果不存在。。。其他的或者一个案例陈述。