美文网首页
函数(储存过程)mysql

函数(储存过程)mysql

作者: 大圣不累 | 来源:发表于2019-02-05 23:19 被阅读0次

当操作mysql出现如下错误时:
[Err] 1055 - Expression #1 of ORDER BY clause is not in GROUP BY clause and contains nonaggregated column 'information_schema.PROFILING.SEQ' which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by

需要在语句中输入
set sql_mode='NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES';

示例:创建储存过程函数 update_ratio()。

CREATE PROCEDURE update_ratio()
BEGIN

set sql_mode='NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES';

--当所有数据都需要更新时,可以用replace into 进行数据插入 这里把jinseqt表查找到的符合条件的数据,生成临时表bb,并将数据插入到新表updowninfo;同时支持更新时替换同一主键数据。

REPLACE INTO updowninfo
(
com_date,
up_sum,
down_sum,
ud_sum,
ud_diff,
ud_ratio
)
SELECT
cme,
upe,
downe,
sume,
diffe,
ratioa
FROM
(
SELECT
date_format(created_time, '%Y-%m-%d') AS cme,
SUM(up_counts) AS upe,
sum(down_counts) AS downe,
SUM(up_counts) + sum(down_counts) AS sume,
SUM(up_counts) - sum(down_counts) AS diffe,
SUM(up_counts) / sum(down_counts) AS ratioa
FROM
jinseqt
GROUP BY
date_format(created_time, '%Y-%m-%d')
) AS bb;
END

在python scrapy 中可以通过事件来自动触发该函数的执行,除了信号功能来触发外,还可以通过 pipelines.py 来实现,这里在关闭数据库前执行该函数

def close_spider(self, spider):
    self.cursor.callproc('update_ratio')    # 调用mysql 储存过程函数
    self.db.commit()  # 完成提交
    self.db.close()

相关文章

  • 函数(储存过程)mysql

    当操作mysql出现如下错误时:[Err] 1055 - Expression #1 of ORDER BY cl...

  • 储存过程与函数的区别

    储存过程与函数的区别:1、标识符不同。函数的标识符为FUNCTION,过程为:PROCEDURE。2、函数中有返回...

  • mysql数据库的储存(一)

    个人认为 mysql数据库的储存过程就像一个函数里面包含了SQL语句,可以节省下次编写时间。当下次我们要用的时候直...

  • mysql修改definer方法--转载

    -- 函数、存储过程 select definer from mysql.proc; update mysql.p...

  • MySQL储存过程实战小案例

    近期项目上需要做一个小功能,每一个付费会员,每周的收益红包,必须有推荐的新注册才能领取,之前 的推荐人也算,但是之...

  • python数据库

    mysql 数据库存储原理 储存过程是一个可编程的函数,它在数据库中创建并保存。它可以有SQL语句和一些特殊的控制...

  • Mysql存储过程函数

    MySQL存储过程的基本函数 字符串处理时,第一个字符下标为1,转换大小写时 非英文字母保留原样, load_fi...

  • Mysql—函数和过程

    维护mysql 和postgres 的时候会踩到很多坑,这里总结一些,一面后面再遇到。如果不习惯简书的markdo...

  • mysql存储过程、函数

    一组预编译好的sql语句集合,理解成批处理语句。 优点:提高代码的重用性简化操作减少编译次数并且和数据库服务器连接...

  • MySQL函数&存储过程

    上一篇文章中说到了定位慢sql,拿到了慢sql后,我们要怎么重现问题呢?那么就需要造数据。函数和存储过程就可以帮助...

网友评论

      本文标题:函数(储存过程)mysql

      本文链接:https://www.haomeiwen.com/subject/trhbsqtx.html