summaryrefslogtreecommitdiff
path: root/modules/database/db_sql_live_write.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'modules/database/db_sql_live_write.cpp')
-rw-r--r--modules/database/db_sql_live_write.cpp10
1 files changed, 8 insertions, 2 deletions
diff --git a/modules/database/db_sql_live_write.cpp b/modules/database/db_sql_live_write.cpp
index 6bb9b93d5..a97f57359 100644
--- a/modules/database/db_sql_live_write.cpp
+++ b/modules/database/db_sql_live_write.cpp
@@ -85,9 +85,15 @@ class DBMySQL : public Module
void Delete(const Anope::string &table, const Serializable::serialized_data &data)
{
- Anope::string query_text = "DELETE FROM `" + table + "` WHERE ";
+ Anope::string query_text = "DELETE FROM `" + table + "` WHERE ", arg_text;
for (Serializable::serialized_data::const_iterator it = data.begin(), it_end = data.end(); it != it_end; ++it)
- query_text += "`" + it->first + "` = @" + it->first + "@";
+ {
+ if (!arg_text.empty())
+ arg_text += " AND ";
+ arg_text += "`" + it->first + "` = @" + it->first + "@";
+ }
+
+ query_text += arg_text;
SQLQuery query(query_text);
for (Serializable::serialized_data::const_iterator it = data.begin(), it_end = data.end(); it != it_end; ++it)