builder_update.lua 5.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194
  1. -- mysql_builder_update.lua
  2. local mysql_builder_update = {}
  3. mysql_builder_update.__index = mysql_builder_update
  4. --[[
  5. 创建一个新的 fw_mysql_builder_update 对象
  6. @return 返回一个新的 fw_mysql_builder_update 对象
  7. ]]
  8. function mysql_builder_update.new(__module)
  9. local instance = setmetatable({}, mysql_builder_update)
  10. instance.module = __module
  11. return instance
  12. end
  13. --[[
  14. 设置要更新的表名
  15. @param table_name 表名
  16. @return 返回 mysql_builder_update 对象自身,以便链式调用
  17. ]]
  18. function mysql_builder_update:table(table_name)
  19. self.module:table(table_name)
  20. return self
  21. end
  22. --[[
  23. 设置 int32 类型的字段
  24. @param name 字段名称
  25. @param value 值
  26. @return 返回 mysql_builder_update 对象自身,以便链式调用
  27. ]]
  28. function mysql_builder_update:set_i32(name, value)
  29. self.module:set_i32(name, fw_toint(value))
  30. return self
  31. end
  32. --[[
  33. 设置 int64 类型的字段
  34. @param name 字段名称
  35. @param value 值
  36. @return 返回 mysql_builder_update 对象自身,以便链式调用
  37. ]]
  38. function mysql_builder_update:set_i64(name, value)
  39. self.module:set_i64(name, fw_toint(value))
  40. return self
  41. end
  42. --[[
  43. 设置 double 类型的字段
  44. @param name 字段名称
  45. @param value 值
  46. @return 返回 mysql_builder_update 对象自身,以便链式调用
  47. ]]
  48. function mysql_builder_update:set_dob(name, value)
  49. self.module:set_dob(name, value)
  50. return self
  51. end
  52. --[[
  53. 设置字符串类型的字段
  54. @param name 字段名称
  55. @param value 值
  56. @return 返回 mysql_builder_update 对象自身,以便链式调用
  57. ]]
  58. function mysql_builder_update:set_str(name, value)
  59. self.module:set_str(name, value)
  60. return self
  61. end
  62. --[[
  63. 设置 blob 类型的字段
  64. @param name 字段名称
  65. @param value 值
  66. @return 返回 mysql_builder_update 对象自身,以便链式调用
  67. ]]
  68. function mysql_builder_update:set_blob(name, value)
  69. self.module:set_blob(name, value)
  70. return self
  71. end
  72. --[[
  73. 设置自定义表达式的字段
  74. @param expression 自定义表达式
  75. @return 返回 mysql_builder_update 对象自身,以便链式调用
  76. ]]
  77. function mysql_builder_update:set(expression)
  78. self.module:set(expression)
  79. return self
  80. end
  81. --[[
  82. 添加 int32 类型的条件
  83. @param name 字段名称
  84. @param expression 条件表达式
  85. @param value 值
  86. @return 返回 mysql_builder_update 对象自身,以便链式调用
  87. ]]
  88. function mysql_builder_update:where_i32(name, expression, value)
  89. self.module:where_i32(name, expression, fw_toint(value))
  90. return self
  91. end
  92. --[[
  93. 添加 int64 类型的条件
  94. @param name 字段名称
  95. @param expression 条件表达式
  96. @param value 值
  97. @return 返回 mysql_builder_update 对象自身,以便链式调用
  98. ]]
  99. function mysql_builder_update:where_i64(name, expression, value)
  100. self.module:where_i64(name, expression, fw_toint(value))
  101. return self
  102. end
  103. --[[
  104. 添加 double 类型的条件
  105. @param name 字段名称
  106. @param expression 条件表达式
  107. @param value 值
  108. @return 返回 mysql_builder_update 对象自身,以便链式调用
  109. ]]
  110. function mysql_builder_update:where_dob(name, expression, value)
  111. self.module:where_dob(name, expression, value)
  112. return self
  113. end
  114. --[[
  115. 添加字符串类型的条件
  116. @param name 字段名称
  117. @param expression 条件表达式
  118. @param value 值
  119. @return 返回 mysql_builder_update 对象自身,以便链式调用
  120. ]]
  121. function mysql_builder_update:where_str(name, expression, value)
  122. self.module:where_str(name, expression, value)
  123. return self
  124. end
  125. --[[
  126. 添加自定义表达式的条件
  127. @param expression 条件表达式
  128. @return 返回 mysql_builder_update 对象自身,以便链式调用
  129. ]]
  130. function mysql_builder_update:where_expression(expression)
  131. self.module:where_expression(expression)
  132. return self
  133. end
  134. --[[
  135. 设置分页参数
  136. @param page 页码
  137. @param count 每页记录数
  138. @return 返回 mysql_builder_update 对象自身,以便链式调用
  139. ]]
  140. function mysql_builder_update:page(page, count)
  141. self.module:page(fw_toint(page), fw_toint(count))
  142. return self
  143. end
  144. --[[
  145. 设置查询限制
  146. @param start 起始位置
  147. @param count 记录数
  148. @return 返回 mysql_builder_update 对象自身,以便链式调用
  149. ]]
  150. function mysql_builder_update:limit(start, count)
  151. self.module:limit(fw_toint(start), fw_toint(count))
  152. return self
  153. end
  154. --[[
  155. 设置排序
  156. @param orderby 排序语句
  157. @return 返回 mysql_builder_select 对象自身,以便链式调用
  158. ]]
  159. function mysql_builder_update:orderby(orderby)
  160. self.module:orderby(orderby)
  161. return self
  162. end
  163. --[[
  164. 执行更新操作
  165. @return 返回受影响的行数
  166. ]]
  167. function mysql_builder_update:exec()
  168. return self.module:exec()
  169. end
  170. --[[
  171. 清空查询条件
  172. ]]
  173. function mysql_builder_update:clear()
  174. self.module:clear()
  175. end
  176. return mysql_builder_update