当前位置:  开发笔记 > 编程语言 > 正文

ALTER TABLE Sqlite:如何在更改表之前检查列是否存在?

如何解决《ALTERTABLESqlite:如何在更改表之前检查列是否存在?》经验,为你挑选了2个好方法。

我需要在python中执行一个SQL查询,在sqlite3中添加一个新列.

问题是有时它已经存在.因此,在执行查询之前,我需要检查列是否已存在.

如果是,那么我将不执行查询.

在sqlite中有没有办法做到这一点?或者我必须通过python代码中的try-catch块来实现它?

非常感谢提前!



1> My Other Me..:

您可以通过以下语句获取表的列列表:

PRAGMA table_info('table_name');

有关pragma命令的更多详细信息,请访问sqlite网站


这个问题被标记为“ python”,但这并未向您展示如何在Python中执行此操作

2> Nick Dandoul..:

IMO这个

conn = sqlite3.connect(':memory:')
c = conn.cursor()
try:
    c.execute('ALTER TABLE mytable ADD COLUMN newcolumn;')
except:
    pass # handle the error
c.close()

是比构造特殊情况查询更好的选择.

您可以将上面的代码包装在AddColumn(游标,表,列)函数中,这样您就可以重用它,
并且它会使代码更具可读性.

推荐阅读
依然-狠幸福
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有