Latest web development tutorials

الخلية استخدام تسلسل

الخلية هي سلسلة من الأعداد الصحيحة: 1، 2، 3، ...، كجدول بيانات يمكن أن يكون حقل واحد فقط المفاتيح الأساسية الاضافة، إذا كنت ترغب في تنفيذ وزادت حقول إضافية تلقائيا، يمكنك استخدام تسلسل الخلية لتحقيقه.

في هذا الفصل سنقوم بشرح كيفية استخدام تسلسل الخلية.


استخدام AUTO_INCREMENT

الخلية أبسط طريقة لاستخدام سلسلة لتحديد استخدام عمود الخلية AUTO_INCREMENT.

أمثلة

المثال التالي بإنشاء الحشرات جدول البيانات، الحشرات دون تحديد قيمة معرف يمكن أن تزيد تلقائيا.

mysql> CREATE TABLE insect
    -> (
    -> id INT UNSIGNED NOT NULL AUTO_INCREMENT,
    -> PRIMARY KEY (id),
    -> name VARCHAR(30) NOT NULL, # type of insect
    -> date DATE NOT NULL, # date collected
    -> origin VARCHAR(30) NOT NULL # where collected
);
Query OK, 0 rows affected (0.02 sec)
mysql> INSERT INTO insect (id,name,date,origin) VALUES
    -> (NULL,'housefly','2001-09-10','kitchen'),
    -> (NULL,'millipede','2001-09-10','driveway'),
    -> (NULL,'grasshopper','2001-09-10','front yard');
Query OK, 3 rows affected (0.02 sec)
Records: 3  Duplicates: 0  Warnings: 0
mysql> SELECT * FROM insect ORDER BY id;
+----+-------------+------------+------------+
| id | name        | date       | origin     |
+----+-------------+------------+------------+
|  1 | housefly    | 2001-09-10 | kitchen    |
|  2 | millipede   | 2001-09-10 | driveway   |
|  3 | grasshopper | 2001-09-10 | front yard |
+----+-------------+------------+------------+
3 rows in set (0.00 sec)

الحصول على قيمة AUTO_INCREMENT

في عميل الخلية يمكنك استخدام وظيفة SQL LAST_INSERT_ID () لاسترداد القيمة الأخيرة إدراجها في زيادة تلقائية للجدول.

في PHP أو المخطوطة أيضا توفر وظيفة المقابلة للحصول على قيمة للمشاركة إدراج الجدول زيادة تلقائية لل.

أمثلة 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 للحصول على القيمة في بيان SQL التي تم تنفيذها العمود AUTO_INCREMENT حسب الوظيفة mysql_insert_id ().

mysql_query ("INSERT INTO insect (name,date,origin)
VALUES('moth','2001-09-14','windowsill')", $conn_id);
$seq = mysql_insert_id ($conn_id);

تسلسل إعادة تعيين

إذا قمت بحذف البيانات في الجدول سجلات متعددة، وآمل أن الأعمدة AUTO_INCREMENT البيانات المتبقية لإعادة ترتيب، ثم يمكنك حذف أعمدة من النمو، ثم إعادة إضافتها إلى تحقيقه. ومع ذلك، فإن العملية أن نكون حذرين للغاية إذا كان لديك إضافة سجل جديد في نفس الوقت إزالتها، قد تكون هناك فوضى البيانات. العملية على النحو التالي:

mysql> ALTER TABLE insect DROP id;
mysql> ALTER TABLE insect
    -> ADD id INT UNSIGNED NOT NULL AUTO_INCREMENT FIRST,
    -> ADD PRIMARY KEY (id);

تعيين قيمة بداية تسلسل

في ظل الظروف العادية قيمة تسلسل بداية من 1، ولكن إذا كنت في حاجة لتحديد قيمة بداية من 100، ثم يمكننا تحقيق البيان التالي:

mysql> CREATE TABLE insect
    -> (
    -> id INT UNSIGNED NOT NULL AUTO_INCREMENT = 100,
    -> PRIMARY KEY (id),
    -> name VARCHAR(30) NOT NULL, # type of insect
    -> date DATE NOT NULL, # date collected
    -> origin VARCHAR(30) NOT NULL # where collected
);

أو يمكنك إنشاء جدول في النجاح من خلال البيان التالي المحققة:

mysql> ALTER TABLE t AUTO_INCREMENT = 100;