2013-02-25 2 views
0

Возможно ли заблокировать определенную запись в таблице 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?

+0

Да. Просто не пишите код, чтобы удалить обновление или изменить его :) Серьезно, хотя, если вы будете выполнять определенные операции с таблицами по нескольким строкам в таблице, возможно, вы можете добавить свое собственное поле флага для таких записей, которые не должны быть подсвечены, а затем просто убедитесь, что ваши обновления, удаления и т. д. не касаются строки этим флагом. –

+0

хорошо, я уже знаю об этом :), почему я спрашиваю об этом, потому что это приложение. будет использоваться многими пользователями, которые могут ошибочно удалить запись из команды «mysql» или «phpMyAdmin» .. из моего приложения будет запрещено указывать эту запись в каком-либо смысле, кроме как ее читать :) спасибо советы! – 2013-02-25 20:46:02

+1

Затем просто дайте учетные данные пользователям тем пользователям, которые не включают привилегии CRUD в эту таблицу. –

ответ

Смежные вопросы