gpt4 book ai didi

使用别名更新 SQLite

转载 作者:行者123 更新时间:2023-12-02 07:55:31 26 4
gpt4 key购买 nike

我正在尝试在 SQLite 中进行此更新:

UPDATE T_INPUT c SET (c.STATUS = 0, c.ERRORMSG='') where not c.ID in (SELECT a.ID FROM T_INPUT a, T_OUTPUT b where a.ID = b.FK_INPUT AND a.STATUS = 1)

当我运行时,我的返回是:

[System.Data.SQLite] ErrorCode: 1
ErrorMessage: SQL logic error or missing database
near "c": syntax error

但是为什么呢?这里没有任何问题。

我尝试使用 T_INPUT.ID 而不是“c”,但它也不起作用。

有人可以帮助我吗?

最佳答案

UPDATE T_INPUT c SET (...)

SQLite 似乎不支持 UPDATE 语句中的表别名或(围绕 SET 值的括号)。 See their official syntax documentation.

如果我像这样改变你的查询,我至少会得到 SQLite 提示表不存在的信息:

UPDATE T_INPUT 
SET
STATUS = 0,
ERRORMSG=''
where T_INPUT.ID in (
SELECT a.ID
FROM T_INPUT a,
T_OUTPUT b
where a.ID = b.FK_INPUT
AND a.STATUS = 1
);

结果:错误:没有这样的表:T_INPUT

如果没有看到更多内容,例如数据库架构或 SQL Fiddle 示例,很难说更多内容。

关于使用别名更新 SQLite,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18775904/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com