MySQL 中有一个二进制的大字段,使用的人不是很多。今天我们来实现一个关于 MySQL 二进制字段的数据拼接,并回顾一下存储过程。 最近用到存储过程主要是因为当前使用的函数,在处理拼接的过程时由于字段较大会出现内存和cpu负载过重的问题。因此,我们决定使用存储过程试一试。
下面是我的拼接大字段blob的相关SQL:
DROP PROCEDURE IF EXISTS sq_xttblog; DELIMITER // CREATE PROCEDURE sq_xttblog(in in_date datetime,in in_bri BLOB) BEGIN declare var_count int DEFAULT 0; declare var_desc VARCHAR(255); SET var_desc = CONCAT('a',t.desc); SELECT count(1) INTO var_count FROM test date=in_date; if var_count > 0 then UPDATE test t SET t.desc = var_desc WHERE t.date='2017-09-25 20:47:41'; COMMIT; else INSERT INTO test(`date`, `time`, `bri`, `desc`) VALUES (in_date, '2017-09-25', bri, 'a'); COMMIT; end if; END// DELIMITER ; CALL sq_xttblog('2017-09-25 20:47:41','0101001010');
在使用过程中,需要注意Mysql的版本,低版本的可能对CONCAT函数不支持。
: » 使用MySQL存储过程实现blob二进制字段数据的拼接
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/tech/database/252372.html