#mysql #binary #mysql-workbench #sqldatatypes
#mysql #двоичный #mysql-workbench #sqldatatypes
Вопрос:
Я новичок в проектировании базы данных. Просто интересно, использую ли я BLOB для хранения видео или чего-то еще, должен ли я установить флажок «B» (двоичный столбец) в флажке Mysql workbench для этого атрибута?
Комментарии:
1. Звучит излишне, но, похоже, это не повредит. Сделайте что-нибудь, а затем покажите нам
SHOW CREATE TABLE
.
Ответ №1:
У меня есть таблица :
CREATE TABLE tvid (
n NUMBER,
vid BLOB,
attributes CLOB,
mimetype VARCHAR2(80),
filename VARCHAR2(500),
vid_duration INTEGER,
bitrate INTEGER
)
LOB ( vid ) STORE AS SECUREFILE;
создайте объект каталога:
CREATE OR REPLACE DIRECTORY vid_DIR AS 'D:videos';
GRANT READ,WRITE ON DIRECTORY vid_DIR TO mediauser;
Вы вставляете данные>> vid1.MP4:
SET SERVEROUTPUT ON;
DECLARE
f_lob BFILE := BFILENAME( 'vid_DIR', 'vid1.MP4');
b_lob BLOB;
BEGIN
INSERT INTO TAUD (N,vid,attributes )
VALUES ( 1, EMPTY_BLOB(),EMPTY_CLOB());
SELECT vid INTO b_lob FROM TAUD WHERE N=1 FOR UPDATE;
-- open the bobs.
DBMS_LOB.open(f_lob, DBMS_LOB.file_readonly);
DBMS_LOB.open(b_lob, DBMS_LOB.lob_readwrite);
-- populate the BLOB from the audio file in the BFILE.
DBMS_LOB.loadfromfile(b_lob, f_lob, DBMS_LOB.getlength(f_lob));
-- close the LOBs;
DBMS_LOB.close(b_lob);
DBMS_LOB.close(f_lob);
COMMIT;
END;
Мой вопрос: как мне добавить атрибуты видео в таблицу?