summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTed Trask <ttrask01@yahoo.com>2014-11-28 01:11:16 +0000
committerTed Trask <ttrask01@yahoo.com>2014-11-28 01:11:16 +0000
commit88e2a9a79372cbd5c3ecd6ce2fad77a4f2bbdd8b (patch)
tree98188b46c1fd41d42578d649ca70705b4daf1a53
parenta23e376fa7da7b96b5567b7936bbdc5c392148c8 (diff)
downloadacf-db-88e2a9a79372cbd5c3ecd6ce2fad77a4f2bbdd8b.tar.bz2
acf-db-88e2a9a79372cbd5c3ecd6ce2fad77a4f2bbdd8b.tar.xz
Change the UPDATE syntax so also works on sqlite
-rw-r--r--lib/dbmodelfunctions.lua13
1 files changed, 8 insertions, 5 deletions
diff --git a/lib/dbmodelfunctions.lua b/lib/dbmodelfunctions.lua
index c108c81..db92947 100644
--- a/lib/dbmodelfunctions.lua
+++ b/lib/dbmodelfunctions.lua
@@ -290,16 +290,19 @@ function mymodule.update_table_entry(dbase, self, entry, action, create)
local sql
local names = {}
local values = {}
- for n,v in pairs(entry.value.fields.value) do
- if create or not reversekeyfields[n] then
+ if create then
+ for n,v in pairs(entry.value.fields.value) do
names[#names+1] = n
values[#values+1] = get_field_value(db, self, entry, n)
end
- end
- if create then
sql = "INSERT INTO "..db.escape(entry.value.table.value).." ("..table.concat(names, ", ")..") VALUES("..table.concat(values, ", ")..")"
else
- sql = "UPDATE "..db.escape(entry.value.table.value).." SET ("..table.concat(names, ", ")..") = ("..table.concat(values, ", ")..") WHERE "..table.concat(fieldchecks, " AND ")
+ for n,v in pairs(entry.value.fields.value) do
+ if not reversekeyfields[n] then
+ values[#values+1] = n.."="..get_field_value(db, self, entry, n)
+ end
+ end
+ sql = "UPDATE "..db.escape(entry.value.table.value).." SET "..table.concat(values, ", ").." WHERE "..table.concat(fieldchecks, " AND ")
end
db.runsqlcommand(sql)
end