Возможно ли заблокировать определенную запись в таблице MySQL?Блокировка записей в базе данных MySQL
У меня есть эта структура для таблицы «категорий», которая имеет внутреннюю связь с «ид» той же таблицы (для вложенной и родитель-потомок категорий):
CREATE TABLE `dokumenti`.`categories` (
`id` INT(9) UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY ,
`categoryId` INT(9) UNSIGNED NOT NULL,
`title` VARCHAR(128) NOT NULL ,
`description` TEXT NULL DEFAULT NULL ,
INDEX (`categoryId`)
) ENGINE = InnoDB;
categoryId
по умолчанию может быть 0
или NULL
значение.
Можно ли вставить запись так:
INSERT INTO categories VALUES(0, 0, 'Root Level Category', 'Root Level Category')
И заблокировать его, чтобы он не может быть удален, ОБНОВЛЕНО или ALTERED?
Да. Просто не пишите код, чтобы удалить обновление или изменить его :) Серьезно, хотя, если вы будете выполнять определенные операции с таблицами по нескольким строкам в таблице, возможно, вы можете добавить свое собственное поле флага для таких записей, которые не должны быть подсвечены, а затем просто убедитесь, что ваши обновления, удаления и т. д. не касаются строки этим флагом. –
хорошо, я уже знаю об этом :), почему я спрашиваю об этом, потому что это приложение. будет использоваться многими пользователями, которые могут ошибочно удалить запись из команды «mysql» или «phpMyAdmin» .. из моего приложения будет запрещено указывать эту запись в каком-либо смысле, кроме как ее читать :) спасибо советы! – 2013-02-25 20:46:02
Затем просто дайте учетные данные пользователям тем пользователям, которые не включают привилегии CRUD в эту таблицу. –