অ্যান্ড্রয়েড এসকিউএলাইট: পদ্ধতিগুলি সন্নিবেশ / প্রতিস্থাপনে নালকলামহ্যাক প্যারামিটার


96

অ্যান্ড্রয়েড এসডিকে এসকিউএলাইটের সাথে ডেটা ম্যানিপুলেট করার জন্য কিছু সুবিধাজনক পদ্ধতি রয়েছে। তবে সন্নিবেশ এবং প্রতিস্থাপন উভয় পদ্ধতিই কিছু nullColumnHackপ্যারামিটার ব্যবহার করে যা আমি বুঝতে পারি না।

ডকুমেন্টেশন এটি নীচের সাথে ব্যাখ্যা করে, তবে যদি কোনও টেবিলের একাধিক কলাম থাকে যা অনুমতি দেয় NULL? আমি সত্যিই এটি পাই না: /

এসকিউএল সম্পূর্ণ শূন্য সারি সন্নিবেশ করানোর অনুমতি দেয় না, তাই যদি প্রাথমিকভ্যালুগুলি খালি থাকে তবে এই কলামটি [ / সারি প্রতিস্থাপনের জন্য ] স্পষ্টতই একটি NULLমান নির্ধারিত হবে ।

উত্তর:


195

ধরা যাক আপনার একটি নামযুক্ত টেবিল রয়েছে fooযেখানে সমস্ত কলামগুলি NULLমানকে অনুমতি দেয় বা ডিফল্ট থাকে।

কিছু এসকিউএল বাস্তবায়নে, এটি বৈধ এসকিউএল হবে:

INSERT INTO foo;

এটি এসকিউএলাইটে বৈধ নয়। আপনার কমপক্ষে একটি কলাম নির্দিষ্ট করতে হবে:

INSERT INTO foo (somecol) VALUES (NULL);

অত: পর, কেস যেখানে আপনি একটি খালি পাস মধ্যে ContentValuesথেকে insert(), Android এবং SQLite কিছু কলাম যে দায়িত্ব অর্পণ করা নিরাপদ প্রয়োজন NULLহয়। আপনার যদি পছন্দ মতো কয়েকটি কলাম থাকে তবে আপনার পছন্দের নির্বাচনের প্রক্রিয়াটির মধ্যে একটি বেছে নিন: পাশার রোল, ম্যাজিক 8-বল (টিএম), মুদ্রা ফ্লিপ, কিউবিক্যাল মেট ফ্লিপ ইত্যাদি

ব্যক্তিগতভাবে, I'd've শুধু এটা একটি খালি পাস অবৈধ প্রণীত ContentValuesকরতে insert(), কিন্তু তারা আমাকে জিজ্ঞাসা করা হয়নি ... :-)

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