Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> MySQL

MySQL में एकाधिक टेबल लॉक करना

MySQL में एकाधिक टेबल लॉक करने के लिए LOCK TABLES कमांड का उपयोग करें।

सिंटैक्स:

LOCK TABLES table1 WRITE;
LOCK TABLES table2 WRITE;
LOCK TABLES table3 WRITE;
...;

महत्वपूर्ण: टेबल लॉक ट्रांजेक्शन-सेफ नहीं हैं। यह सक्रिय ट्रांजेक्शन को पहले निहित रूप से कमिट करता है।

उदाहरण:

CREATE TABLE OrderDemo (
    OrderId INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
    OrderPrice INT,
    OrderDateTime DATETIME
);

दो टेबल लॉक करें:

LOCK TABLES OrderDemo WRITE;
LOCK TABLES utfdemo WRITE;

अब इसी सत्र में कोई अन्य टेबल बनाने का प्रयास करने पर त्रुटि होगी:

CREATE TABLE LockTableDemo (UserId INT, UserName VARCHAR(10));
-- ERROR 1100 (HY000): Table 'LockTableDemo' was not locked with LOCK TABLES

लॉक हटाने के लिए:

UNLOCK TABLES;

या MySQL रीस्टार्ट करें।

सर्वोत्तम अभ्यास:

  • लॉक को यथासंभव कम समय तक रखें
  • सभी आवश्यक टेबल एक ही LOCK TABLES स्टेटमेंट में लॉक करें: LOCK TABLES t1 WRITE, t2 READ, t3 WRITE;
  • ट्रांजेक्शनल टेबल (InnoDB) के लिए LOCK TABLES के बजाय ट्रांजेक्शन का उपयोग करें
  1. - MySQL में REPLACE() फंक्शन का उपयोग करके वर्ण कैसे बदलें?

    MySQL में REPLACE() फ़ंक्शन का उपयोग करके किसी स्ट्रिंग में सभी घटनाओं को दूसरे स्ट्रिंग से बदला जा सकता है। यह टाइपो सुधार, डेटा सफाई के लिए उपयोगी है। सिंटैक्स REPLACE(column_name, old_string, new_string) उदाहरण तालिका बनाएं और डेटा डालें (टाइपो के साथ): mysql> CREATE TABLE DemoTable (Name VA

  1. - MySQL टेबल को बैच अपडेट कैसे करें?

    आइए पहले एक टेबल बनाते हैं: mysql> create table DemoTable -> ( -> BreakfastTime time -> ); Query OK, 0 rows affected (0.59 sec) इन्सर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें: mysql> insert into DemoTable values(7:30:45); Query OK, 1 row affected (0.19 sec) mysql> insert i

  1. - MySQL में टेबल के अस्तित्व का पता कैसे लगाएं

    समाधान INFORMATION_SCHEMA.TABLES का उपयोग करें। सिंटैक्स SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = yourTableName; उदाहरण टेबल बनाएं: ); जांच क्वेरी WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = DemoTable2032; परिणाम +---------------+ |