Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Blokowanie tabel
rogeros
post
Post #1





Grupa: Zarejestrowani
Postów: 97
Pomógł: 0
Dołączył: 10.04.2002
Skąd: Pruszków

Ostrzeżenie: (10%)
X----


Witam.
Mam pytanko. Czy jest możliwość zablokowania tabeli lub kilku tabel
przed zapisem lub zmianami tak aby odczyt był tylko możliwy.
Ale blokada byla aktywna az do odwolania moze to być za tydzień, miesiąc

slyszalem ze mozna blokować jakoś tabele podczas transakcji ale czy jest szansa zablokowania jej (tj nadania atrybutu tylko do odczytu) na czas nie okreslony


--------------------
Centrale telefoniczne VOIP - www.astrocom.pl
VOIP
Go to the top of the page
+Quote Post
TomASS
post
Post #2





Grupa: Zarejestrowani
Postów: 1 660
Pomógł: 13
Dołączył: 9.06.2004
Skąd: Wrocław i okolice

Ostrzeżenie: (0%)
-----


Tranzakcji jako takich w MySQL nie ma i jednocześnie blokowania tabel. Takowe zostały wprowadzone dopiero w MySQL 5. Dlaczego chcesz blokować tabele?


==========edit=========


Przepraszam bardzo, właśnie przeszukując manuala natknęłem się na:
  1. CREATE TEMPORARY TABLE tmp (
  2. article INT(4) UNSIGNED ZEROFILL DEFAULT '0000' NOT NULL,
  3. price DOUBLE(16,2) DEFAULT '0.00' NOT NULL);
  4.  
  5. LOCK TABLES shop READ;
  6.  
  7. INSERT
  8. INTO tmp SELECT article, MAX(price)
  9. FROM shop GROUP BY article;
  10.  
  11. SELECT shop.article, dealer, shop.price
  12. FROM shop, tmp
  13. WHERE shop.article=tmp.article AND shop.price=tmp.price;
  14.  
  15. UNLOCK TABLES;
  16.  
  17. DROP TABLE tmp;


Czyli istnieje możliwość blokowania tabel od MySQL w wersji 4.1

Oto Link

Ten post edytował TomASS 31.08.2005, 22:39:23


--------------------
Go to the top of the page
+Quote Post
Miklosz
post
Post #3





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 10.01.2008

Ostrzeżenie: (0%)
-----


Sorry za odgrzewanie nieświeżych kotletów, ale nurtuje mnie podobny problem jak autora wątku:
Cytat
Czy jest możliwość zablokowania tabeli lub kilku tabel przed zapisem lub zmianami tak aby odczyt był tylko możliwy.
Ale blokada byla aktywna az do odwolania moze to być za tydzień, miesiąc


Tzn. czy można zablokować tabelę czymś trwalszymi niż lock?
Chodzi mi o to, aby IF ((SELECT wartosc FROM ustawienia where nr = 111) = 1), nie można było zrobić UPDATE na innej tabeli
Musi to być pilnowane jakoś po stronie sql właśnie, bo skryptów za dużo musiałbym przepisywać
A może trigger, który blokował by update??
Go to the top of the page
+Quote Post
nevt
post
Post #4





Grupa: Przyjaciele php.pl
Postów: 1 595
Pomógł: 282
Dołączył: 24.09.2007
Skąd: Reda, Pomorskie.

Ostrzeżenie: (0%)
-----


a nie prościej nadać użytkownikowi który łączy się z bazą z serwera www uprawnień do wykonywania na tej tabeli wyłącznie SELECT questionmark.gif


--------------------

-
Oh no, my young coder. You will find that it is you who are mistaken, about a great many things... -
Go to the top of the page
+Quote Post
Miklosz
post
Post #5





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 10.01.2008

Ostrzeżenie: (0%)
-----


chodzi o czasowe blokowanie tabeli z poziomu aplikacji - konkretnie - blokowanie stanów magazynowych na czas remanentu.
pomysł z nadawaniem uprawnień jest mało realny, bo musiałbym je nadawać i obierać z poziomu php...
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 21.08.2025 - 07:33