MCPcopy Index your code
hub / github.com/webpy/webpy / update

Method update

web/db.py:1090–1128  ·  view source on GitHub ↗

Update `tables` with clause `where` (interpolated using `vars`) and setting `values`. >>> db = DB(None, {}) >>> name = 'Joseph' >>> q = db.update('foo', where='name = $name', name='bob', age=2, ... created=SQLLiteral('NOW()'), var

(self, tables, where, vars=None, _test=False, **values)

Source from the content-addressed store, hash-verified

1088 return out
1089
1090 def update(self, tables, where, vars=None, _test=False, **values):
1091 """
1092 Update `tables` with clause `where` (interpolated using `vars`)
1093 and setting `values`.
1094
1095 >>> db = DB(None, {})
1096 >>> name = 'Joseph'
1097 >>> q = db.update('foo', where='name = $name', name='bob', age=2,
1098 ... created=SQLLiteral('NOW()'), vars=locals(), _test=True)
1099 >>> q
1100 <sql: "UPDATE foo SET age = 2, created = NOW(), name = 'bob' WHERE name = 'Joseph'">
1101 >>> q.query()
1102 'UPDATE foo SET age = %s, created = NOW(), name = %s WHERE name = %s'
1103 >>> q.values()
1104 [2, 'bob', 'Joseph']
1105 """
1106 if vars is None:
1107 vars = {}
1108
1109 where = self._where(where, vars)
1110 values = sorted(values.items(), key=lambda t: t[0])
1111
1112 query = (
1113 "UPDATE "
1114 + sqllist(tables)
1115 + " SET "
1116 + sqlwhere(values, ", ")
1117 + " WHERE "
1118 + where
1119 )
1120
1121 if _test:
1122 return query
1123
1124 db_cursor = self._db_cursor()
1125 self._db_execute(db_cursor, query)
1126 if not self.ctx.transactions:
1127 self.ctx.commit()
1128 return db_cursor.rowcount
1129
1130 def delete(self, table, where, using=None, vars=None, _test=False):
1131 """

Callers 6

update_globals_templateFunction · 0.45
_loadMethod · 0.45
__getitem__Method · 0.45
__setitem__Method · 0.45
__init__Method · 0.45
__init__Method · 0.45

Calls 7

_whereMethod · 0.95
_db_cursorMethod · 0.95
_db_executeMethod · 0.95
sqllistFunction · 0.85
sqlwhereFunction · 0.85
itemsMethod · 0.80
commitMethod · 0.45

Tested by

no test coverage detected