summaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
Diffstat (limited to 'lib')
-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