আমি মাইএসকিএল ব্যবহার করছি এবং নাল মান সহ একটি কলাম আপডেট করতে হবে। আমি এই বিভিন্ন উপায়ে চেষ্টা করেছি এবং আমি যে সেরাটি অর্জন করেছি তা হ'ল খালি স্ট্রিং।
এটি করার জন্য একটি বিশেষ বাক্য গঠন আছে?
আমি মাইএসকিএল ব্যবহার করছি এবং নাল মান সহ একটি কলাম আপডেট করতে হবে। আমি এই বিভিন্ন উপায়ে চেষ্টা করেছি এবং আমি যে সেরাটি অর্জন করেছি তা হ'ল খালি স্ট্রিং।
এটি করার জন্য একটি বিশেষ বাক্য গঠন আছে?
উত্তর:
কোনও বিশেষ সিনট্যাক্স নেই:
CREATE TABLE your_table (some_id int, your_column varchar(100));
INSERT INTO your_table VALUES (1, 'Hello');
UPDATE your_table
SET your_column = NULL
WHERE some_id = 1;
SELECT * FROM your_table WHERE your_column IS NULL;
+---------+-------------+
| some_id | your_column |
+---------+-------------+
| 1 | NULL |
+---------+-------------+
1 row in set (0.00 sec)
NULL
এসকিউএল এর একটি বিশেষ মান। সুতরাং কোনও সম্পত্তি বাতিল করতে, এটি করুন:
UPDATE table SET column = NULL;
এর IS
পরিবর্তে ব্যবহার করুন =
এটি আপনার সমস্যার উদাহরণ বাক্য গঠন সমাধান করবে:
UPDATE studentdetails
SET contactnumber = 9098979690
WHERE contactnumber IS NULL;
আপনার কলামটি নাল হতে পারে কিনা তা মনে রাখবেন। আপনি এটি ব্যবহার করে করতে পারেন
mysql> desc my_table;
যদি আপনার কলামটি নালার দিকে না যায়, আপনি যখন মানটি শূন্য করতে সেট করেন এটি এটির জন্য কাস্ট মান হবে।
এখানে একটি উদাহরণ
mysql> create table example ( age int not null, name varchar(100) not null );
mysql> insert into example values ( null, "without num" ), ( 2 , null );
mysql> select * from example;
+-----+-------------+
| age | name |
+-----+-------------+
| 0 | without num |
| 2 | |
+-----+-------------+
2 rows in set (0.00 sec)
mysql> select * from example where age is null or name is null;
Empty set (0.00 sec)
অনুরূপ সমস্যার মুখোমুখি তাদের জন্য, আমি খুঁজে পেয়েছি যে কোনও SET = NULL
প্রশ্নের সিমুলেট করার সময় , পিএইচপিএমআইএডমিন একটি ত্রুটি ছুঁড়ে মারবে। এটি একটি লাল রঙের হেরিং .. শুধু ক্যোয়ারী চালান এবং সবকিছু ঠিকঠাক হবে।
উপরের উত্তরে, এর জন্য অনেকগুলি উপায় এবং পুনরাবৃত্তি প্রস্তাব করা হয়েছে। আমি যেমন উত্তর হিসাবে উত্তর চেয়েছি ততই খুঁজেছি কিন্তু এখানে এটি খুঁজে পেল না।
তবে উপরোক্ত প্রশ্নের বিপরীতে "একটি শূন্য মান সহ একটি কলাম আপডেট করুন" হতে পারে "কলমে সমস্ত সারিগুলি আপডেট করুন"
যেমন একটি পরিস্থিতিতে নিম্নলিখিত কাজ
update table_name
set field_name = NULL
where field_name is not NULL;
is
পাশাপাশি is not
mysql এ কাজ করে
is
পরিবর্তে ব্যবহার করুন=
উদাহরণ: Select * from table_name where column is null
সত্য শূন্যের চেয়ে খালি স্ট্রিংয়ের আর একটি সম্ভাব্য কারণ হ'ল ক্ষেত্রটি একটি সূচক বা কোনও সূচকের অংশ। আমার সাথে এটি ঘটেছিল: পিএইচপিএমআইএডমিন ব্যবহার করে, আমি আমার টেবিলের একটিতে একটি ক্ষেত্রের কাঠামো সম্পাদনা করে " নুল " চেকবক্সটি পরীক্ষা করে " সেভ করুন " বোতামটি চেক করে NULL গুলি অনুমতি দিতে পারি । " টেবিলের মূল্য সফলভাবে পরিবর্তিত হয়েছে " প্রদর্শিত হয়েছিল তাই আমি ধরে নিয়েছিলাম যে পরিবর্তনটি ঘটেছে - এটি হয়নি। একটি করছেন পরে আপডেট করার জন্য আপনি ওই সব ক্ষেত্র সেট করতে শূন্য , তারা ছিল, পরিবর্তে, সেট খালি স্ট্রিং , তাই আমি আবার টেবিল গঠন নিয়ে গবেষণা শুরু করেন এবং বুঝতে পারল যে " নাল"যে ক্ষেত্রের জন্য কলাম 'এ সেট করা হয় কোন '। যে যখন আমি বুঝলাম যে ক্ষেত্র অংশ ছিল প্রাথমিক কী !
যদি আপনি আপডেট ক্যোয়ারী সেট কলাম মানটি NULL (কোট ছাড়াই) ব্যবহার করে নাল মান সেট করতে চান তবে আপডেট টেবিলেরাম সেট কলামনাম = NULL
তবে, আপনি যদি সরাসরি মাইএসকিএল ওয়ার্কবেঞ্চের মধ্যে ক্ষেত্রের মান সম্পাদনা করে থাকেন তবে নির্বাচিত কলামে নাল মান সন্নিবেশ করতে (Esc + del) কীস্ট্রোকটি ব্যবহার করুন
যদি আপনি অনুসরণ
UPDATE table SET name = NULL
তারপরে নামটি "" নাইল ইন মাইএসকিউএল মানে আপনার ক্যোয়ারী
SELECT * FROM table WHERE name = NULL
কাজ বা নিজেকে হতাশ না
আমার সন্দেহ হচ্ছে এখানে সমস্যাটি হ'ল আপনার স্ট্রিংয়ের মানটিতে কোটগুলি আক্ষরিক হিসাবে প্রবেশ করা হয়েছিল। আপনি এই কলামগুলি ব্যবহার করে নালায় সেট করতে পারেন:
UPDATE table SET col=NULL WHERE length(col)<3;
আপনার অবশ্যই অবশ্যই প্রথম পরীক্ষা করা উচিত যে এই মানগুলি "" এর মতো কোনও কিছুর সাথে রয়েছে:
SELECT DISTINCT(col) FROM table WHERE length(col)<3;