微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

SQLite - 添加列并使用另一个表更新它们

如何解决SQLite - 添加列并使用另一个表更新它们

sql 完全陌生,如果这段代码离题太远了,很抱歉。尝试向 sqlite 中的现有表(物种)添加两个新字段。然后通过使用键“Id”根据另一个表(临时)中的值设置新字段的值来更新该表。请参阅下面的代码。使用 sqlite v 3.33.0。

ALTER TABLE Species 
    ADD Name1 TEXT,ScientificName1 TEXT;

UPDATE Species
SET Name1 = temp.Name,ScientificName1 = temp.ScientificName
FROM temp
WHERE temp.Id = Species.Id;

解决方法

ALTER TABLE 语句不支持多列,因此您必须将它们添加到 2 个单独的语句中:

ALTER TABLE Species ADD Name1 TEXT;
ALTER TABLE Species ADD ScientificName1 TEXT;

如果您的 SQLite 版本为 3.33.0+,则您的 UPDATE 语句是正确的。

对于以前的版本 (3.15.0+),您可以使用 ROW VALUES:

UPDATE Species
SET (Name1,ScientificName1) = (
  SELECT temp.Name,temp.ScientificName
  FROM temp
  WHERE temp.Id = Species.Id
);

参见demo

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。