Du *_* D. 6 mysql sql triggers
我正在尝试创建一个审计触发器,将blob数据作为longtext数据类型插入.
当我使用select时,我会看到图像的内容,但是当我使用相同的格式插入时,它会显示为空白.
Works:数据显示图像的原始内容
select cast(my_image as char) as data from MyTable
Run Code Online (Sandbox Code Playgroud)
不起作用:数据列显示为空白(0byte)
insert into MyAuditTable (data) values ( cast(NEW.my_image as char) )
Run Code Online (Sandbox Code Playgroud)
更新:9月12日 我试图通过一个函数希望通过显式指定类型然后它将采取,但没有运气那里
CREATE FUNCTION `BLOB2TXT`(dablob LONGBLOB) RETURNS LONGTEXT
NO SQL
DETERMINISTIC
BEGIN
RETURN CAST(dablob AS CHAR CHARACTER SET utf8);
END
Run Code Online (Sandbox Code Playgroud)
我在github上发布我的项目,如果有人想看看或想要使用我拥有的.随时欢迎你 :)
https://github.com/hotmit/mysql-sp-audit
现在唯一给我一些希望的是Hex(blob),但是当我UNHEX()时,数据是不可读的.
您可以尝试以下操作:
INSERT INTO zaudit_meta(audit_id, col_name)
SELECT 0
,CAST(my_image AS CHAR)
Run Code Online (Sandbox Code Playgroud)
如果您的SELECT查询工作正常,则此解决方案应该有效。
希望这会有所帮助。
| 归档时间: |
|
| 查看次数: |
355 次 |
| 最近记录: |