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 সেকেন্ড)