嗨,我有这个脚本在linux薄荷64与sqlite3
#!/bin/bash
_Sqlite_UpdateRecord() {
local database_name="$1"
local NameTable="$2"
local NameColumn1="$3"
local ok_or_not="$4"
local NameColumn2="$5"
local symbol_name="$6"
local query="UPDATE '$NameTable' SET '$NameColumn1'='$ok_or_not' WHERE '$NameColumn2'='$symbol_name';"
#echo "SQL stringa $query"
if sqlite3 "$database_name" "$query"; then
echo "Aggiornamento nel database riuscito."
return 0
else
echo "Errore durante l'aggiornamento nel database."
return 1
fi
}
_Sqlite_UpdateRecord "BinCexExchangeInfo.db" "ROBOTEST" "OkorNot" "1" "symbol" "LUNAUSDT"
但不工作,我也尝试与sqlite浏览器,我试图执行sql命令
UPDATE 'ROBOTEST' SET 'OkorNot'='1' WHERE 'symbol'='LUNAUSDT';
但不返回错误
Execution finished without errors.
Result: query executed successfully. Took 0ms, 0 rows affected
At line 1:
UPDATE 'ROBOTEST' SET 'OkorNot'='1' WHERE 'symbol'='LUNAUSDT';
但如果我去表和做refrash没有新的数据更新,为什么??在这里你可以下载我的数据库进行测试https://mega.nz/file/OttAxB7C#qe5r28fxfNibJAvxgTrXzl7Y_xI88O4lmb-tLLgffPM
1条答案
按热度按时间g9icjywg1#
我不熟悉SQLlite中的有效标识符引用,但我想知道标识符(即表和列名)周围的单引号是否存在问题:
在我使用过的SQL方言中,标识符通常用双引号或方括号括起来;这给我们留下了3种可能的解决方案:
看看你的一些其他问题,似乎你通常不引用你的标识符,所以我希望第一个解决方案(以上)是足够的。
**注意:**我假设(至少)有一行
symbol = 'LUNAUSDT'