diff options
author | Ted Trask <ttrask01@yahoo.com> | 2014-11-28 01:11:16 +0000 |
---|---|---|
committer | Ted Trask <ttrask01@yahoo.com> | 2014-11-28 01:11:16 +0000 |
commit | 88e2a9a79372cbd5c3ecd6ce2fad77a4f2bbdd8b (patch) | |
tree | 98188b46c1fd41d42578d649ca70705b4daf1a53 | |
parent | a23e376fa7da7b96b5567b7936bbdc5c392148c8 (diff) | |
download | acf-db-88e2a9a79372cbd5c3ecd6ce2fad77a4f2bbdd8b.tar.bz2 acf-db-88e2a9a79372cbd5c3ecd6ce2fad77a4f2bbdd8b.tar.xz |
Change the UPDATE syntax so also works on sqlite
-rw-r--r-- | lib/dbmodelfunctions.lua | 13 |
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 |