মাইএসকিউএল-এ NULL এ মান সেট করুন


132

আমি NULLযে ফর্মটি জমা দিচ্ছি তাতে পাঠ্য বাক্সে কোনও কিছু না রাখলে আমি একটি মান সেট করতে চাই। আমি কীভাবে এটি ঘটতে পারি? আমি সন্নিবেশ করার চেষ্টা করেছি 'NULL'তবে এটি কেবল শব্দটি NULLক্ষেত্রের সাথে যুক্ত করে।

আমি নিশ্চিত নই যে এর জন্য আমার কী কোড সরবরাহ করা উচিত, আমি কেবল একটি আপডেটের ক্যোয়ারী লিখছি।


12
আপনি word সন্নিবেশ করতে হবে null ছাড়া উদ্ধৃতি ..
মাইক Christensen

উত্তর:


268

NULLআপনার আপডেট বিবৃতিতে কোটসের ভিতরে রাখবেন না । এই কাজ করা উচিত:

UPDATE table SET field = NULL WHERE something = something

এখানে একই: Static analysis: 1 errors were found during analysis. Unrecognized keyword. (near "NULL" at position 35) SQL query: UPDATE programs SET flash = NULL। - আপডেট: WHEREসমস্যাটি তৈরি করার কারণে এটি নিম্নলিখিত শর্ত ছিল !
কাই নোক

16

আপনি সম্ভবত 'নুল' উদ্ধৃতি দিচ্ছেন। এনইউএল হ'ল মাইএসকিউএল-এর একটি সংরক্ষিত শব্দ, এবং উদ্ধৃতি ছাড়াই sertedোকানো / আপডেট করা যেতে পারে:

INSERT INTO user (name, something_optional) VALUES ("Joe", NULL);
UPDATE user SET something_optional = NULL;


6
if (($_POST['nullfield'] == 'NULL') || ($_POST['nullfield'] == '')) {
   $val = 'NULL';
} else {
   $val = "'" . mysql_real_escape_string($_POST['nullfield']) . "'";
}

$sql = "INSERT INTO .... VALUES ($val)";

যদি আপনি 'NULL'আপনার ক্যোয়ারিতে রেখে দেন তবে আপনি কেবল একটি 4-বর্ণের স্ট্রিং .োকাচ্ছেন। উদ্ধৃতি ব্যতীত, NULLআসল নাল মান।



5

আপনার sertোকানো উচিত null, এর স্ট্রিং নয় 'NULL'


3

কলামটি ধরে নিলে শূন্য সেটিংয়ের অনুমতি দেওয়া হয়েছে,

$mycolupdate = null; // no quotes

কৌতুক করা উচিত


1
... ধরে নিচ্ছেন যে আপনি $mycolupdateপরবর্তী পর্যায়ে স্ট্রিংয়ে কাস্ট করবেন না ।
vlvaro González

2

এখানে দেওয়া উত্তরগুলি ভাল তবে আমি এখনও এনএসএলএল পোস্ট করার জন্য লড়াই করছিলাম এবং মাইএসকিএল টেবিলে শূন্য নয়।

অবশেষে আমি উল্লেখ করেছি যে সমস্যাটি আমি ব্যবহার করছিলাম এমন সন্নিবেশ ক্যোয়ারিতে ছিল

   $quantity= "NULL";
   $itemname = "TEST";

এ পর্যন্ত সব ঠিকই.

আমার সন্নিবেশ অনুসন্ধানটি খারাপ ছিল।

   mysql_query("INSERT INTO products(quantity,itemname) 
   VALUES ('$quantity','$itemname')");

আমি জিজ্ঞাসা পড়তে সংশোধন।

   mysql_query("INSERT INTO products(quantity,itemname) 
   VALUES ('".$quantity."','$itemname')");

সুতরাং $ পরিমাণটি মূল স্ট্রিংয়ের বাইরে। আমার এসকিএল টেবিল এখন 0 এর পরিবর্তে নাল পরিমাণ রেকর্ড করতে স্বীকৃত


আমি অবহেলিত মাইএসকিএল_ ফাংশনগুলি ত্যাগ এবং মাইএসকিলি বা, আমার পছন্দ, পিডিওতে স্যুইচ করার পরামর্শ দেব।
muttley91

2

আপনার সমস্যাটি সম্ভবত ছিল কারণ মাইএসকিএল মূলধনীতে লিখিত নাল এবং ছোট ক্ষেত্রে নাল দ্বারা লিখিত পার্থক্য দেখায়।

সুতরাং আপনি যদি নাল দিয়ে আপডেট স্টেটমেন্ট ব্যবহার করেন তবে এটি কার্যকর হবে না। আপনি যদি এটি NULL এ সেট করেন তবে এটি দুর্দান্ত কাজ করবে।

ধন্যবাদ।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.