Próbuję utworzyć wyzwalacz inspekcji, wstawiając dane blob jako typ danych longtext.Wyzwalanie audytu, wstawianie obiektu typu blob jako tekst długi
Kiedy używam select Widzę zawartość obrazu, ale kiedy wstawiam w tym samym formacie, pojawi się jako pusty.
Works: dane wyświetlić zawartość surowego obrazu
select cast(my_image as char) as data from MyTable
nie działa: kolumna danych pojawia się puste (0byte)
insert into MyAuditTable (data) values (cast(NEW.my_image as char))
Aktualizacja: 12 września Próbowałem przejść przez funkcję, mając nadzieję, że wyraźnie określić typ, a następnie będzie, ale nie ma szczęścia albo
CREATE FUNCTION `BLOB2TXT`(dablob LONGBLOB) RETURNS LONGTEXT
NO SQL
DETERMINISTIC
BEGIN
RETURN CAST(dablob AS CHAR CHARACTER SET utf8);
END
Opublikowałem swój projekt na Github, jeśli ktoś chce spojrzeć lub chce użyć tego, co mam. Jesteś zawsze mile widziane :)
https://github.com/hotmit/mysql-sp-audit
Teraz jedyną rzeczą, która daje mi pewną nadzieję jest Hex (blob) ale kiedy UNHEX() dane nie są czytelne.
spróbuj z CONVERT()? – catalinetu
Próbowałem obsady, konwertowania, wstawiania, jak jest. Wszystkie kończą jako puste. –
proszę wyjaśnić, która tabela reprezentuje MyTable i które pola są datami, my_image w twoim projekcie github? jaki plik do obejrzenia? –