SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 11.08.2009 12:42:23

roma095
Участник
Зарегистрирован: 11.08.2009
Сообщений: 2

как заблокировать поле от изменения

Можно ли как то или целиком поле или отдельную запись заблокировать mysql от любого изменения? Нужно только что бы я ручками мог снять блокировку через phpmyadmin?

p.s У меня просто скрипт не корректно один работает в интернет-магазине и после сохранения карточки товара, меняет артикул на другой. пока проблему не смогли устранить, надо как то заблокировать значения в базе, что бы можно было менять только через phpmyadmin

помогите пожалуйста!

Неактивен

 

#2 11.08.2009 16:21:38

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5842

Re: как заблокировать поле от изменения

Разве что через триггер. Но это не очень удобно так как для ручного изменения вам его придется временно удалять, а в это время данные сможет изменять скрипт.
Хотя можно вынести правильные значения поля в отдельную таблицу и при обновлении брать значения из неё, а вы вручную будете изменять значения во второй таблице.

Неактивен

 

#3 11.08.2009 18:42:40

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6757

Re: как заблокировать поле от изменения

Как дополнительный вариант — выдать права на чтение на все колонки таблицы,
а на запись — на все, кроме артикула. Но учтите, что попытка изменить все столбцы
приведет к откату всей транзакции.

GRANT SELECT, UPDATE (col1, col2, ...) ON dbname.tablename TO 'username'@'hostname';

Список колонок — все, кроме той, что не нужна.

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson