كيف تقوم بإعادة تعيين القيمة الابتدائية لهوية الزيادة في SQL Server
عند العمل مع قواعد البيانات في SQL Server، قد تواجه مواقف تحتاج فيها إلى إعادة تعيين القيمة الابتدائية لهوية الزيادة. يمكن أن يكون ذلك مفيدًا بشكل خاص أثناء مراحل التطوير أو الاختبار عندما تريد التأكد من أن بياناتك تبدأ من جديد أو تتكرر ضمن نطاق محدد من القيم مرة أخرى. في هذه التدوينة، سنفصل الخطوات اللازمة لإعادة تعيين القيمة الابتدائية لعمود الهوية في SQL Server، ونقدم لك دليلًا واضحًا ومختصرًا.
فهم أعمدة الهوية
قبل أن نتناول خطوات إعادة تعيين قيمة الهوية، دعونا نشرح باختصار ما هو عمود الهوية:
- عمود الهوية: هو عمود خاص في جدول SQL Server يقوم تلقائيًا بتوليد رقم تسلسلي كلما تمت إضافة صف جديد. عادةً ما يتم تعريف هذا العمود مع خاصية
IDENTITY
.
عند إنشاء جدول مع عمود هوية، قد يتم إعداده على النحو التالي:
CREATE TABLE ExampleTable (
ID INT IDENTITY(1,1) PRIMARY KEY,
Name VARCHAR(50)
);
في هذا المثال، سيكون للصف الأول ID
يساوي 1، والصف الثاني سيكون له ID
يساوي 2، وهكذا، يتم الزيادة بمقدار 1. ومع ذلك، في بعض الأحيان قد ترغب في إعادة تعيين هذه السلسلة إلى رقم معين—غالبًا 0
أو 1
—لأسباب متعددة، مثل إعادة تحميل بيانات الاختبار.
إعادة تعيين قيمة الهوية
لإعادة تعيين القيمة الابتدائية لعمود الهوية في SQL Server، يمكنك استخدام الأمر DBCC CHECKIDENT
. إليك كيفية القيام بذلك:
الخطوة 1: تحديد الجدول الخاص بك
قبل إجراء أي تغييرات، حدد الجدول الذي تريد إعادة تعيين عمود الهوية فيه. لمرشدنا هذا، لنفترض أن اسم جدولك هو TableName
.
الخطوة 2: استخدام أمر DBCC CHECKIDENT
بناء الجملة للأمر لإعادة تعيين قيمة الهوية واضح:
DBCC CHECKIDENT('TableName', RESEED, 0);
- DBCC CHECKIDENT: هذا الأمر يتحقق من القيمة الحالية للهوية للجدول المحدد ويمكن أن يعيد تعيينها إذا لزم الأمر.
- ‘TableName’: استبدل هذا باسم الجدول الفعلي الخاص بك.
- RESEED: هذه الكلمة الرئيسية تشير إلى أنك تريد إعادة تعيين القيمة الابتدائية.
- 0: هذه هي القيمة الابتدائية الجديدة لعمود الهوية. يمكنك تغييرها إلى أي قيمة تناسب احتياجاتك، ولكن تذكر أن الصف المدخل الأول بعد هذا الأمر سيتخذ هذه القيمة ويتزايد منها.
الخطوة 3: التأكيد على إعادة التعيين
لتأكيد أن قيمة الهوية قد أعيد تعيينها، ما عليك سوى إدخال صف جديد في الجدول والتحقق من قيم ID:
INSERT INTO TableName (Name) VALUES ('مدخل تجريبي');
SELECT * FROM TableName;
يجب أن ترى أن الإدخال الجديد له ID
يساوي 1
(أو 0
، اعتمادًا على القيمة التي عينتها لـ RESEED) إذا كانت تلك هي نقطة البداية المحددة.
الخاتمة
إعادة تعيين القيمة الابتدائية لهوية الزيادة في SQL Server هي عملية بسيطة باستخدام الأمر DBCC CHECKIDENT
. تعتبر هذه القدرة مفيدة بشكل خاص أثناء اختبار أو مراحل التطوير، مما يسمح لك بتبسيط سير العمل الخاص بك من خلال ضمان أن تكون المعرفات متسقة وقابلة للتوقع.
الآن لديك قالب قوي لإعادة تعيين أعمدة الهوية في متناول يدك. نتمنى لك برمجة سعيدة!