Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/85.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
用于更新具有相同列名的多个表的SQL查询_Sql_Sqlite - Fatal编程技术网

用于更新具有相同列名的多个表的SQL查询

用于更新具有相同列名的多个表的SQL查询,sql,sqlite,Sql,Sqlite,我有一个数据库,其中包含许多具有相同列名的表,我想运行SQLITE3查询来更改所有表的值 Table XXX (id integer, name text); Table YYY (id integer, .....); Table ZZZ (id integer, .....); Table.... 要对具有字段名“id”的所有表运行查询,我使用了该查询: 从类似sql(“%id%”)的sqlite_master中选择名称 但是,如何将更新查询与表列表一起使用呢?如果不简单列

我有一个数据库,其中包含许多具有相同列名的表,我想运行SQLITE3查询来更改所有表的值

  Table XXX (id integer, name text);
  Table YYY (id integer, .....);
  Table ZZZ (id integer, .....);
  Table....
要对具有字段名“id”的所有表运行查询,我使用了该查询: 从类似sql(“%id%”)的sqlite_master中选择名称


但是,如何将更新查询与表列表一起使用呢?

如果不简单列出所有表/列组合,那么使用常规sql是不可能的


可能的解决方案可以是函数/过程或其他执行动态生成的sql的方法。

如果不简单列出所有表/列组合,则常规sql不可能


可能的解决方案可以是函数/过程或其他执行动态生成的sql的方法。

在插入到单个表中后,可以使用触发器更新任意数量的表

示例触发器

CREATE TRIGGER update_tables
AFTER INSERT ON XXX
BEGIN

INSERT INTO YYY (new.id,new.integer);
INSERT INTO ZZZ (new.id,new.integer);

END

在一个表中插入后,可以使用触发器更新任意数量的表

示例触发器

CREATE TRIGGER update_tables
AFTER INSERT ON XXX
BEGIN

INSERT INTO YYY (new.id,new.integer);
INSERT INTO ZZZ (new.id,new.integer);

END

你能举一个更现实的例子吗?这是您的实际情况吗?我有一个数据库,其中包含所有表的默认键值。我想在一个查询中更改所有表中的所有默认值。这个键不是唯一的,还有其他列是唯一的,但都属于相同的id。你能给出一个更现实的例子吗?这是您的实际情况吗?我有一个数据库,其中包含所有表的默认键值。我想在一个查询中更改所有表中的所有默认值。此键不是唯一的,还有其他列是唯一的,但都属于相同的id。包含“I'd”字段的表列表显示在上面。从sqlite_master中选择名称,其中。。。。但我需要在更新中包含一个表列表,而不是一个。上面显示了包含“I'd”字段的表列表。从sqlite_master中选择名称,其中。。。。但我需要在更新中包含一个表列表,而不是一个