কম্পিউটার

মাইএসকিউএল-এ একটি সন্নিবেশ বা আপডেট বন্ধ করতে একটি ট্রিগার ব্যবহার করবেন?


MySQL-এ একটি সন্নিবেশ বা আপডেট বন্ধ করতে আপনাকে SIGNAL SQL STATE কমান্ড ব্যবহার করতে হবে। ট্রিগার সিনট্যাক্স নিম্নরূপ:

ডিলিমিটার //প্রত্যেক সারির জন্য আপনার টেবিলেরনামে ঢোকানোর আগে আপনার ট্রিগারনাম তৈরি করুন থিনসিগন্যাল SQLSTATE '45000'SET MESSAGE_TEXT ='anyMessageToEndUser';END;//DELIMI 

এখন, একটি ট্রিগার তৈরি করুন যা কিছু শর্তে টেবিলে একটি রেকর্ড সন্নিবেশ করাতে বাধা দেবে। একটি ট্রিগার তৈরি করার প্রশ্নটি নিম্নরূপ:

mysql> DELIMITER //mysql> Insert_Prevent -> প্রতিটি সারির জন্য -> শুরু -> IF(new.Id <1 or new.Id> 5) তারপর -> 'SIGNAL5004' তারপর -> 'SIGNAL5004'> SET MESSAGE_TEXT ='আপনি রেকর্ড সন্নিবেশ করতে পারবেন না'; -> END IF; -> শেষ //কোয়েরি ঠিক আছে, 0টি সারি প্রভাবিত (0.20 সেকেন্ড)mysql> DELIMITER;

আপনি যখনই 0-এর কম বা 5-এর বেশি রেকর্ড ঢোকাবেন তখন উপরের ট্রিগারটি সন্নিবেশ করা বন্ধ হয়ে যাবে।

এখন প্রথমে একটি টেবিল তৈরি করা যাক। একটি টেবিল তৈরি করার প্রশ্নটি নিম্নরূপ:

mysql> টেবিল Insert_Prevent তৈরি করুন -> ( -> আইডি int -> );কোয়েরি ঠিক আছে, 0 সারি প্রভাবিত (0.62 সেকেন্ড)

এখন 0-এর কম বা 5-এর বেশি রেকর্ড সন্নিবেশ করুন। এর ফলে একটি ত্রুটির বার্তা আসবে যেহেতু আপনি যখনই 0-এর কম বা 5-এর বেশি রেকর্ড ঢোকান তখন ট্রিগারটি সন্নিবেশ করা বন্ধ করার জন্য তৈরি করা হয়। ত্রুটি বার্তাটি নিম্নরূপ:

mysql> Insert_Prevent মান (0); ERROR 1644 (45000):আপনি recordmysql সন্নিবেশ করতে পারবেন না> Insert_Prevent মান (6); ERROR 1644 (45000):আপনি রেকর্ড সন্নিবেশ করতে পারবেন না

আপনি যদি 1 এবং 5 এর মধ্যে রেকর্ড সন্নিবেশ করেন তবে কোন ত্রুটি থাকবে না। এটি রেকর্ডের সন্নিবেশ রোধ করে না যেহেতু উপরে আলোচনা করা হয়েছে আমাদের ট্রিগারটি 1 থেকে 5 এর মধ্যে রেকর্ড সন্নিবেশ করার জন্য তৈরি করা হয়েছে। রেকর্ড সন্নিবেশ করার প্রশ্নটি নিম্নরূপ:

mysql> Insert_Prevent মানগুলিতে ঢোকান 2);কোয়েরি ঠিক আছে, 1 সারি প্রভাবিত (0.11 সেকেন্ড)mysql> Insert_Prevent মান (3); কোয়েরি ঠিক আছে, 1 সারি প্রভাবিত (0.23 সেকেন্ড)

সিলেক্ট স্টেটমেন্ট ব্যবহার করে টেবিল থেকে সমস্ত রেকর্ড প্রদর্শন করুন। প্রশ্নটি নিম্নরূপ:

mysql> Insert_Prevent থেকে *নির্বাচন করুন;

নিম্নলিখিত আউটপুট:

<প্রে>+------+| আইডি |+------+| 1 || 5 || 2 || 3 |+------+4 সারি সেটে (0.00 সেকেন্ড)

  1. MySQL-এ ডুপ্লিকেট কী আপডেটে INSERT... বাস্তবায়ন করা হচ্ছে

  2. ট্রিগার সহ INSERT কমান্ডে MySQL টেবিল আপডেট করবেন?

  3. সন্নিবেশ করার আগে মাইএসকিউএল ট্রিগার কীভাবে বন্ধ করবেন?

  4. কিভাবে সঠিকভাবে একটি MySQL সঞ্চিত পদ্ধতিতে ডিলিমিটার ব্যবহার করবেন এবং মান সন্নিবেশ করবেন?