【问题标题】:Sqlite Expert - Updated multiple tables with same columnSqlite Expert - 更新了具有相同列的多个表
【发布时间】:2014-12-11 19:40:35
【问题描述】:

首先我想说我是数据库的新手,感谢您帮助新手。

对于我正在与朋友一起开发的应用程序项目,我已经将一个包含多个表的数据库放在一起,这些表共享一些相同的列名,例如表名是“S18”,列名是“触发器”。我需要将“触发器”列中的文本从“灵魂 1”更改为“1,风”,但我有几个表格,而不是一次更新每个表格。有没有办法一次处理所有事情?还是我注定要一次完成所有这些工作?

再次感谢

【问题讨论】:

    标签: sqlite


    【解决方案1】:

    我想说这取决于您可以使用哪些工具。我相当确定没有办法在不提及表名的情况下更新所有具有相同名称的列。但是,如果您可以使用 C# 或其他编程语言,则可以找到一种以编程方式执行此操作的方法。

    您可以使用以下语句获取所有表的列表:

    select name from sqlite_master where type = 'table' and name not like 'sqlite_%'
    

    (“sqlite_master”是一个存储数据库信息的表。任何以“sqlite_”开头的表都是系统表,所以你可能不想弄乱它们。)

    然后,您可以通过执行以下命令在该列表中循环获取所有列名:

    PRAGMA table_info('tableName')
    

    在遍历表和列时,您可以存储这些表名和列名。然后就是在数据中搜索要更新的特定列名。

    话虽如此,如果您认为值得花时间,这将取决于您。

    【讨论】:

    • 是的,所以我需要引用每个表,最后我写了一个查找/替换命令,只是为每个表更改了表.. 希望有更好的方法,但它没有时间太长了
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-12-09
    • 2022-10-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-01-28
    相关资源
    最近更新 更多