我该如何修复:SQLite 中的近“~”语法错误

问题描述 投票:0回答:1

我想更新表中包含数字和非数字数据的列。我想使用此查询将非数字数据更新为空:

UPDATE Employee_Performance, 
SET Employee_Satisfaction_Score = NULL, 
WHERE NOT (Employee_Satisfaction_Score ~ '^[0-9]+$');

我希望非数字数据更改为 Null,但出现此错误: SQLite 中接近 ''~'' 语法错误

sqlite syntax-error
1个回答
0
投票

您的查询似乎有很多错误。我没有 SQLite 经验,所以只能从文档中得知。

https://www.sqlite.org/lang_update.html

我在您的查询中看到的问题:

  • 表名后面的逗号好像没必要

  • NULL
    后面的逗号也是不必要的

  • ~
    运算符:你想使用这个“按位求反”运算符做什么?我猜您想在这里使用
    =
    REGEXP
    https://zetcode.com/db/sqlite/expressions/

  • 整个where条件读起来有点尴尬。

试试这个方法:

UPDATE Employee_Performance
SET Employee_Satisfaction_Score = NULL
WHERE Employee_Satisfaction_Score NOT REGEXP '^[0-9]+$';
© www.soinside.com 2019 - 2024. All rights reserved.