sql - SQLite:如何在数据库中的所有表中添加列?

标签 sql sqlite alter-table

我对SQLite(SQL整体)很陌生。我创建了一个数据库并在其中创建了多个表,然后突然意识到我忘了在其中添加一列。现在,我有280个表,它们具有不带列的不同名称。我尝试添加*并与SELECT结合使用,但它给出了错误。我该怎么做?

我的代码:

ALTER TABLE "MYBUS.*" ADD COLUMN STOPID int null;

最佳答案

3小时后问题终于解决了。
搜索一段时间后,我偶然发现了这个答案
SQlite alter table with result from select statement

我运行了代码:select 'alter table '||tbl_name||' add STOPID int null' from sqlite_master

它返回了所有需要的280条SQL查询,但带有引号,因此我从this.lau那里得到了线索,并创建了一个python regex脚本并运行了它。就像一个魅力一样,在10行代码中,我能够为所有280个表添加一列。

关于sql - SQLite:如何在数据库中的所有表中添加列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44775662/

相关文章:

mysql - 在mysql中查找用户名、数据库名和版本?

mysql - 在mysql中创建 View 时出错。而独立运行时查询运行正确

MySQL:如何将新的 id 列添加到表中,按旧列分组?

java - SQlite:数据库文件被锁定(数据库被锁定)

sql-server - SQL更改表中的列从位到整数

ruby-on-rails - 如何在不花很长时间的情况下更改大型 Postgres 表的默认值?

mysql - 如果值与同一表中的不同列匹配,则更新列

sql - 使用另一个数组查找数组中出现的次数?

ruby-on-rails - 开发组下的 Sqlite3 但仍然出现 Heroku 部署错误

c# - SQLite.Interop.dll 的 DllNotFoundException(C# 和 SQLite)