টেবিল পরিবর্তন করুন কলাম সিনট্যাক্স যুক্ত করুন


142

আমি কর্মসূচিতে কোনও টেবিলে কর্মচারীদের একটি পরিচয় কলাম যুক্ত করার চেষ্টা করছি। আমার সিনট্যাক্সে আমি কী ভুল করছি তা নিশ্চিত নই।

ALTER TABLE Employees
  ADD COLUMN EmployeeID int NOT NULL IDENTITY (1, 1)

ALTER TABLE Employees ADD CONSTRAINT
    PK_Employees PRIMARY KEY CLUSTERED 
    (
      EmployeeID
    ) WITH( STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, 
    ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]

আমি কি ভুল করছি? আমি স্ক্রিপ্টটি রফতানি করার চেষ্টা করেছি, তবে এসকিউএল এমজিএমটি স্টুডিও পুরো টেম্প টেবিলটির নাম পরিবর্তন করে।

আপডেট : আমার ধারণা "এটি 'COLUMN' মূলশব্দটির নিকটে ভুল সিনট্যাক্স সহ প্রথম বিবৃতিতে শ্বাসরোধ করছে" "

উত্তর:


195

COLUMNথেকে সরাতে হবেADD COLUMN

ALTER TABLE Employees
  ADD EmployeeID numeric NOT NULL IDENTITY (1, 1)

ALTER TABLE Employees ADD CONSTRAINT
        PK_Employees PRIMARY KEY CLUSTERED 
        (
          EmployeeID
        ) WITH( STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, 
        ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]

9
স্পষ্ট করার জন্য, 'COLUMN' কীওয়ার্ডটি MySQL এ কেবল বৈধ (তবে প্রয়োজন নেই) not
ইথনবুস্তাদ

4
@থানবাস্টাদ এটি ডিবি 2 এবং পোস্টগ্রিসের জন্যও বৈধ।
ᴠɪɴᴄᴇɴᴛ

3
হাস্যকর যে তারা columnকীওয়ার্ডটি কেবল উপেক্ষা করে না এবং এটিকে সেখানে অন্যান্য ডিবির মতো কাজ করে না।
ব্রুস পাইর্সন

এফওয়াইআই, ওরাকল এই ক্ষেত্রে এসকিউএল সার্ভারের মতোই আচরণ করে - উভয়ই বিবৃতিতে অনুমতি দেয় COLUMNনা ADD
বিস্ফোরণ

11

এইভাবে সারণীতে নতুন কলাম যুক্ত করা হচ্ছে

ALTER TABLE [tableName]
ADD ColumnName Datatype

যেমন

ALTER TABLE [Emp]
ADD Sr_No Int

এবং আপনি যদি এটি অটো বর্ধিত করতে চান

ALTER TABLE [Emp]
ADD Sr_No Int IDENTITY(1,1) NOT NULL

1
হুম হুম, ডাব্লু সিগা ওয়াহ
ইয়েরনাও

5

সারণিতে কলাম যুক্ত করার জন্য সঠিক বাক্য গঠন:

ALTER TABLE table_name
  ADD column_name column-definition;

আপনার ক্ষেত্রে এটি হবে:

ALTER TABLE Employees
  ADD EmployeeID int NOT NULL IDENTITY (1, 1)

একাধিক কলাম যুক্ত করতে বন্ধনী ব্যবহার করুন:

ALTER TABLE table_name
  ADD (column_1 column-definition,
       column_2 column-definition,
       ...
       column_n column_definition);

COLUMN এসকিউএল সার্ভারে কীওয়ার্ডটি শুধুমাত্র পরিবর্তনের জন্য ব্যবহৃত হয়:

ALTER TABLE table_name
  ALTER COLUMN column_name column_type;

0

আপনি যদি টেবিলের শুরুতে একটি কলাম যুক্ত করার চেষ্টা করছেন (এটি ক্রম পরিবর্তন করার চেয়ে সহজ) তবে এটি টেম্প টেবিলটির নাম পরিবর্তন করতে পারে। এছাড়াও, যদি কর্মীদের টেবিলে ডেটা থাকে তবে এটি সন্নিবেশ নির্বাচন করতে হবে * যাতে এটি কর্মচারী গণনা করতে পারে।


1
"সহজ যে অর্ডার পরিবর্তন করে" - আপনি কি বোঝাতে চেয়েছেন যে টেবিলটি পুনরায় তৈরি না করে (একটি টেম্প টেবিলের মাধ্যমে) কলামগুলির ক্রম পরিবর্তন করা সম্ভব (যদিও এটি আরও বেশি কঠিন)?
janrjan Jämte

1
রিলেশনাল ডাটাবেসে আপনার কখনই কলামগুলির সূক্ষ্মতার প্রয়োজন হবে না তাই আপনি যদি কলামগুলি ঝরঝরে অর্ডার করার চেষ্টা করছেন, প্রশ্ন কেন? যদি কলামের অर्डিনালিয়ালিটি এত গুরুত্বপূর্ণ ছিল, তবে কলামগুলির অर्डিনালিটি অদলবদল বা সংশোধন করার জন্য কেন একটি তুচ্ছ ফাংশন নেই? কারণ এটি বিবেচনা না করে অর্ডিনালটির জন্য তৈরি করা হয়েছে।
শিব
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.