sql server - একটি কলাম পরিবর্তন: নাল নাল




sql-server tsql (8)

JDK (Oracle এর Apache ডার্বির সমর্থিত বিতরণ) অন্তর্নিহিত javaDB অন্তর্ভুক্ত জন্য নীচের আমার জন্য কাজ

alter table [table name] alter column [column name] not null;

আমি একটি টেবিল আছে যা বিভিন্ন nullable পূর্ণসংখ্যা কলাম আছে। এটি বেশ কয়েকটি কারণে অবাঞ্ছিত, তাই আমি 0 থেকে সকল NOT NULL আপডেট করতে এবং তারপর এই কলামগুলিকে NOT NULL করতে সেট করছি। ছাড়া 0 থেকে nulls পরিবর্তন থেকে, তথ্য সংরক্ষণ করা আবশ্যক।

আমি একটি কলাম পরিবর্তন করার জন্য নির্দিষ্ট এসকিউএল সিনট্যাক্সের সন্ধান করছি (কলাম এটিকে কল করুন) " not null " তে। তথ্য নুল অন্তর্ভুক্ত না আপডেট করা হয়েছে অনুমান।

এসকিউএল সার্ভার ব্যবহার করে 2000


Oracle 11g এর জন্য, আমি নিম্নরূপ কলামের বৈশিষ্ট্য পরিবর্তন করতে সক্ষম হয়েছিলাম:

ALTER TABLE tablename MODIFY columnname datatype NOT NULL;

নইলে আবেতারেভের উত্তর ভালো লাগে। আপনি পরিবর্তনটি পুনরাবৃত্তি করতে পারবেন না - এটি অভিযোগ করে (অন্তত এসকিউএল বিকাশকারীর মধ্যে) যে কলামটি ইতিমধ্যে নল নয়।


আপনি নিম্নলিখিত এসকিউএল ব্যবহার করে বিদ্যমান ডিবি কলাম সংজ্ঞা পরিবর্তন করতে পারেন।

ALTER TABLE mytable modify mycolumn datatype NOT NULL;

আমার ক্ষেত্রে আমি পোস্ট উত্তর সঙ্গে অসুবিধা ছিল। আমি নিম্নলিখিত ব্যবহার করে শেষ পর্যন্ত:

ALTER TABLE table_name CHANGE COLUMN column_name column_name VARCHAR(200) NOT NULL DEFAULT '';

VARCHAR(200) পরিবর্তন করুন আপনার ডাটাটাইপে, এবং বিকল্পভাবে ডিফল্ট মান পরিবর্তন করুন।

যদি আপনার ডিফল্ট মান না থাকে তবে আপনি এই পরিবর্তনটি করতে কোনও সমস্যা তৈরি করতে যাচ্ছেন, ডিফল্ট হিসাবে একটি দ্বন্দ্ব তৈরি করা যাবে না।


এই সহজ মনে হয়, কিন্তু শুধুমাত্র Oracle কাজ করে:

ALTER TABLE [Table] 
ALTER [Column] NUMBER DEFAULT 0 NOT NULL;

উপরন্তু, এই সঙ্গে, আপনি কলাম যোগ করতে পারেন, শুধু এটি পরিবর্তন না। এই মানটি ডিফল্ট মান (0) এ আপডেট করে, যদি মানটি নাল হয়।


এটা আমার জন্য কাজ করেছে:

ALTER TABLE [Table] 
Alter COLUMN [Column] VARCHAR(50) not null;

প্রথম, সব বর্তমান নুল মান অদৃশ্য করা:

UPDATE [Table] SET [Column]=0 WHERE [Column] IS NULL

তারপরে, নুলগুলিকে বাতিল করার জন্য টেবিলের সংজ্ঞাটি আপডেট করুন:

ALTER TABLE [Table] ALTER COLUMN [Column] INTEGER NOT NULL

যতক্ষণ কলাম একটি অনন্য সনাক্তকারী নয়

UPDATE table set columnName = 0 where columnName is null

তারপর

টেবিলটি পরিবর্তন করুন এবং ক্ষেত্রটি নন নুলে সেট করুন এবং 0 এর একটি ডিফল্ট মান উল্লেখ করুন





alter-column