mysql Создание таблицы для загруженных файлов. Комментарии к колонкам и таблице COMMENT. Пример SQL. Каскадное удаление
Primary tabs
Forums:
Для хранения путей к загруженным файлам:
CREATE TABLE `uploaded_files` ( `id` INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY, `path` VARCHAR(2000) NULL DEFAULT NULL COMMENT 'Полное имя файла (т.е. путь к файлу, напр. относительно корня сайта)' ) COLLATE='utf8mb4_general_ci' ENGINE=InnoDB AUTO_INCREMENT=1 COMMENT 'Таблица для хранения путей к файлам' ;
Связи с другими таблицами и каскадное удаление
В принципе можно связать записи из этой таблице даже с несколькими другими, например если файл может относится к одной из двух сущностей, то для каскадного удаления записей можно использовать код подбный этому (используем два внешних ключа связи с записями двух таблиц):
CREATE TABLE `uploaded_files` ( `id` INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY, `path` VARCHAR(2000) NULL DEFAULT NULL COMMENT 'Полное имя файла (т.е. путь к файлу, напр. относительно корня сайта)' , `idзаписиИзтабилицы1` INT(11) NULL DEFAULT NULL, `idзаписиИзтабилицы2` INT(11) NULL DEFAULT NULL, INDEX `имяиндекса1` (`finalReportID`), INDEX `имяиндекса2` (`subsequentReportID`), CONSTRAINT `имяОграниченияВнешнегоКлюча1` FOREIGN KEY (`idзаписиИзтабилицы1`) REFERENCES `имятаблицы1` (`idВтабилице1`) ON DELETE CASCADE, CONSTRAINT `имяОграниченияВнешнегоКлюча2` FOREIGN KEY (`idзаписиИзтабилицы2`) REFERENCES `имятаблицы2` (`idВтабилице2`) ON DELETE CASCADE ) COLLATE='utf8mb4_general_ci' ENGINE=InnoDB AUTO_INCREMENT=1 COMMENT 'Таблица для хранения путей к файлам' ;
- Log in to post comments
- 3367 reads