Если тип данных атрибута — BLOB, является ли этот атрибут двоичным столбцом?

#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;
  

Мой вопрос: как мне добавить атрибуты видео в таблицу?