MCPcopy Create free account
hub / github.com/Boris-code/feapder / make_insert_sql

Function make_insert_sql

feapder/utils/tools.py:2110–2150  ·  view source on GitHub ↗

@summary: 适用于mysql, oracle数据库时间需要to_date 处理(TODO) --------- @param table: @param data: 表数据 json格式 @param auto_update: 使用的是replace into, 为完全覆盖已存在的数据 @param update_columns: 需要更新的列 默认全部,当指定值时,auto_update设置无效,当duplicate key冲突时更新指定的列 @param insert_ignore: 数据存在忽略 ---------

(
    table, data, auto_update=False, update_columns=(), insert_ignore=False
)

Source from the content-addressed store, hash-verified

2108
2109
2110def make_insert_sql(
2111 table, data, auto_update=False, update_columns=(), insert_ignore=False
2112):
2113 """
2114 @summary: 适用于mysql, oracle数据库时间需要to_date 处理(TODO)
2115 ---------
2116 @param table:
2117 @param data: 表数据 json格式
2118 @param auto_update: 使用的是replace into, 为完全覆盖已存在的数据
2119 @param update_columns: 需要更新的列 默认全部,当指定值时,auto_update设置无效,当duplicate key冲突时更新指定的列
2120 @param insert_ignore: 数据存在忽略
2121 ---------
2122 @result:
2123 """
2124
2125 keys = ["`{}`".format(key) for key in data.keys()]
2126 keys = list2str(keys).replace("'", "")
2127
2128 values = [format_sql_value(value) for value in data.values()]
2129 values = list2str(values)
2130
2131 if update_columns:
2132 if not isinstance(update_columns, (tuple, list)):
2133 update_columns = [update_columns]
2134 update_columns_ = ", ".join(
2135 ["{key}=values({key})".format(key=key) for key in update_columns]
2136 )
2137 sql = (
2138 "insert%s into `{table}` {keys} values {values} on duplicate key update %s"
2139 % (" ignore" if insert_ignore else "", update_columns_)
2140 )
2141
2142 elif auto_update:
2143 sql = "replace into `{table}` {keys} values {values}"
2144 else:
2145 sql = "insert%s into `{table}` {keys} values {values}" % (
2146 " ignore" if insert_ignore else ""
2147 )
2148
2149 sql = sql.format(table=table, keys=keys, values=values).replace("None", "null")
2150 return sql
2151
2152
2153def make_update_sql(table, data, condition):

Callers 1

add_smartMethod · 0.90

Calls 3

list2strFunction · 0.85
format_sql_valueFunction · 0.85
joinMethod · 0.45

Tested by

no test coverage detected