دليل المادة
MySQLكيف تصنع تسلسل؟قاعدة بيانات MySQLإنشاء بيان تسلسل التزايد التلقائي
استخدام تسلسل MySQL
تسلسل MySQL عبارة عن مجموعة من الأعداد الصحيحة: 1 ، 2 ، 3 ، ... ، نظرًا لأن جدول البيانات يمكن أن يحتوي فقط على مفتاح أساسي واحد للزيادة التلقائية في الحقل ، إذا كنت تريد تحقيق زيادة تلقائية في الحقول الأخرى ، فيمكنك استخدام MySQL تسلسل لتحقيق.
سنشرح في هذا الفصل كيفية استخدام تسلسلات MySQL.
استخدم AUTO_INCREMENT
أسهل طريقة لاستخدام التسلسلات في MySQL هي استخدام MySQL AUTO_INCREMENT لتعريف الأعمدة.
مثال
تم إنشاء جدول البيانات Insect في المثال التالي ، حيث لم يتم تحديد قيمة للنمو التلقائي.
mysql > CREATE TABLE昆虫 - > (- > id INT UNSIGNED NOT NULL AUTO_INCREMENT ,- > PRIMARY KEY (id ),- > name VARCHAR (30 )NOT NULL ,#昆虫类型- > 日期DATE NOT NULL ,#收集日期- > origin VARCHAR (30 )NOT NULL #where collected ); 查询OK ,0 行受影响(0.02 秒) mysql > INSERT INTO insects (id ,name ,date ,origin )VALUES - > (NULL ,'housefly' ,'2001-09-10' ,'kitchen' ),- > (NULL ,'millipede' ,'2001-09-10 ' ,'车道' ),- > (NULL ,'grasshopper' ,'2001-09-10' ,'front yard' ); 查询OK , 秒)记录:3 重复:0 警告:0 mysql > 选择* 从昆虫ORDER BY ID ; + ---- + ------------- + ------------ + ------------ + | id | 名字 | 日期 | 起源 | + ---- + ------------- + ------------ + ------------ + | 1 | 家蝇 | 2001 - 09 - 10 | 厨房 | | 2 | 千足虫 | 2001 - 09 - 10 | 车道 | | 3 | 蚱蜢| 2001 - 09 - 10 | 前院| + ---- + ------------- + ------------ + ------------ + 3 行中集(0.00 秒)
احصل على قيمة AUTO_INCREMENT
في عميل MySQL ، يمكنك استخدام الدالة LAST_INSERT_ID () في SQL للحصول على قيمة آخر عمود تمت الزيادة تلقائيًا في الجدول.
يتم أيضًا توفير الوظائف المقابلة في نص PHP أو PERL للحصول على قيمة آخر عمود زيادة تلقائية تم إدخاله في الجدول.
مثيل PERL
استخدم خاصية mysql_insertid للحصول على قيمة AUTO_INCREMENT.الأمثلة هي كما يلي:
$ dbh - > do (“INSERT INTO insect(name,date,origin) VALUES('moth','2001-09-14','windowsill')“ ); my $ seq = $ dbh - > { mysql_insertid };
مثال PHP
تحصل PHP على قيمة العمود AUTO_INCREMENT في جملة إدراج SQL المنفذة من خلال وظيفة mysql_insert_id ().
mysql_query (“INSERT INTO昆虫(名字,日期,起源) VALUES('moth','2001-09-14','windowsill')“ ,$ conn_id ); $ seq = mysql_insert_id ($ conn_id );
إعادة تعيين التسلسل
إذا قمت بحذف سجلات متعددة في جدول البيانات وأردت إعادة ترتيب عمود AUTO_INCREMENT للبيانات المتبقية ، يمكنك القيام بذلك عن طريق حذف عمود الزيادة التلقائية ثم إضافته مرة أخرى.ومع ذلك ، يجب أن تكون هذه العملية حذرة للغاية ، على كل حال.في نفس وقت الحذف ، يتم إضافة سجلات جديدة ، وقد يكون هناك تشويش في البيانات.العمليات كالتالي:
mysql > ALTER TABLE昆虫DROP ID ; mysql > ALTER TABLE昆虫 - > ADD ID INT UNSIGNED NOT NULL AUTO_INCREMENT FIRST ,- > ADD PRIMARY KEY (id );
اضبط قيمة البداية للتسلسل
بشكل عام ، قيمة البداية للتسلسل هي 1 ، ولكن إذا كنت بحاجة إلى تحديد قيمة بداية من 100 ، فيمكننا فعل ذلك بالعبارة التالية:
mysql > CREATE TABLE昆虫 - > (- > id INT UNSIGNED NOT NULL AUTO_INCREMENT ,- > PRIMARY KEY (id ),- > name VARCHAR (30 )NOT NULL ,- > date DATE NOT NULL ,- > origin VARCHAR (30 )NOT NULL )engine = innodb auto_increment = 100 charset = utf8 ;
أو يمكنك أيضًا استخدام العبارة التالية بعد إنشاء الجدول بنجاح:
mysql > ALTER TABLE t AUTO_INCREMENT = 100 ;
مدونة Hope Chen Weiliang ( https://www.chenweiliang.com/ ) شارك "كيف تنشئ MySQL تسلسلاً؟ قاعدة بيانات MySQL لإنشاء بيان تسلسل ذاتي التزايد "، لمساعدتك.
مرحبا بكم في مشاركة رابط هذه المقالة:https://www.chenweiliang.com/cwl-498.html
لاكتشاف المزيد من الحيل المخفية🔑، مرحبًا بك في الانضمام إلى قناتنا على Telegram!
مشاركة ومثل إذا كنت ترغب في ذلك! مشاركاتك وإعجاباتك هي حافزنا المستمر!