কম্পিউটার

যখন আমি একটি MySQL কলামে একটি খালি স্ট্রিং সন্নিবেশ করি যা NULL নয় বলে ঘোষণা করা হয় তখন ডেটা টাইপ কী ভূমিকা পালন করে?


ফলাফল সেটে একটি খালি স্ট্রিংয়ের উপস্থাপনা নির্ভর করে ডেটা টাইপের উপর যখন আমরা একটি খালি স্ট্রিং একটি MySQL কলামে সন্নিবেশ করি যা NULL হিসাবে ঘোষণা করা হয়। আমরা জানি যে খালি স্ট্রিং সন্নিবেশ করার সময় আমরা MySQL-কে মান প্রদান করছি যার INT 0 হিসাবে পূর্ণসংখ্যা উপস্থাপনা রয়েছে।

এখন, যদি সেই কলামে পূর্ণসংখ্যা ডেটা টাইপ থাকে তাহলে MySQL ফলাফল সেটে 0 দেখাবে কারণ সেই খালি স্ট্রিংটিকে পূর্ণসংখ্যা হিসাবে শূন্যে ম্যাপ করা হয়েছে৷

উদাহরণ

mysql> create table test(id int NOT NULL, Name Varchar(10));
Query OK, 0 rows affected (0.19 sec)

mysql> Insert into test(id, name) values('1', 'Gaurav'),('0','Rahul'),('','Aarav');
Query OK, 3 rows affected, 1 warning (0.08 sec)
Records: 3 Duplicates: 0 Warnings: 1

mysql> Select * from test;
+----+--------+
| id | Name   |
+----+--------+
|  1 | Gaurav |
|  0 | Rahul  |
|  0 | Aarav  |
+----+--------+
3 rows in set (0.00 sec)

কিন্তু যদি সেই কলামে VARCHAR বলে অন্য কোনো ডেটা টাইপ থাকে তাহলে MySQL ফলাফল সেটে একটি খালি স্ট্রিং দেখাবে।

mysql> create table test123(id Varchar(10) NOT NULL, Name Varchar(10));
Query OK, 0 rows affected (0.19 sec)

mysql> Insert into test123(id, name) values('1', 'Gaurav'),('0','Rahul'),('','Aarav');
Query OK, 3 rows affected, 1 warning (0.08 sec)
Records: 3 Duplicates: 0 Warnings: 1

mysql> Select * from test123;
+----+--------+
| id | Name   |
+----+--------+
|  1 | Gaurav |
|  0 | Rahul  |
|    | Aarav  |
+----+--------+
3 rows in set (0.00 sec)

উপরের উদাহরণগুলি থেকে, আমরা দেখতে পাচ্ছি যে যখন আমরা একটি MySQL কলামে একটি খালি স্ট্রিং সন্নিবেশ করি যা NOT NULL হিসাবে ঘোষণা করা হয় তখন ডেটা টাইপ কী ভূমিকা পালন করে৷


  1. মাইএসকিউএল-এ টাইপ হিসাবে char(2) সহ ডাটাবেস ক্ষেত্রে NULL মান সন্নিবেশ করান?

  2. মাইএসকিউএল-এ সন্নিবেশ করার সময় আমরা কি কলাম এড়িয়ে যেতে পারি?

  3. একটি মাইএসকিউএল কলামে কী বরাদ্দ করা উচিত যা খালি হওয়া উচিত নয়?

  4. সারণি সি-তে ডেটা সন্নিবেশ করুন যদি MySQL-এর টেবিল A-এর সাথে তুলনা করার সময় ডেটা টেবিল B-তে না থাকে?