Latest web development tutorials

الخلية المعاملة

يستخدم الخلية عملية معالجة المعاملات أساسا لكبير، عالية التعقيد من البيانات. على سبيل المثال، في نظام إدارة شؤون الموظفين، قمت بإزالة شخص، وهذا هو، تحتاج إلى إزالة ضابط المعلومات الأساسية، والضابط أيضا حذف المعلومات ذات الصلة، مثل صندوق البريد ومقالات وغيرها، بحيث يشكل البيان تشغيل قاعدة بيانات المعاملات !

  • فقط في محرك قاعدة بيانات MySQL تستخدم قاعدة البيانات ك InnoDB أو طاولة لدعم المعاملات
  • المعاملات يمكن أن تستخدم للحفاظ على سلامة قاعدة بيانات لضمان البيانات دفعة SQL إما عن تنفيذها أو عدم تنفيذها جميع
  • إدارة عملية لإدراج أو تحديث أو حذف بيان

عموما، يجب أن المعاملة تلبية أربعة شروط (ACID): Atomicity (Atomicity) والاتساق (الاستقرار)، عزل (عزل) وقوة التحمل (الموثوقية)

  • معاملة الصغيرة: مجموعة من المعاملات، أو نجاح، أو سحبها.
  • 2. الاستقرار: البيانات غير قانوني (القيد الأجانب الرئيسيين وما شابه ذلك)، والمعاملة الانسحاب.
  • 3. عزل: معاملة مستقلة. النتائج بعد الصفقة، ويؤثر على معاملات أخرى، سيتم سحب المعاملات الأخرى. 100٪ من عزل المعاملة المطلوبة التضحية السرعة.
  • 4. الموثوقية: بعد البرامج والأجهزة تحطم الطائرة، وInnoDB والبيانات الجدولية التعمير استخدام ملف تعديل السجل. الموثوقية والسرعة لا يمكن أن يكون على حد سواء، والخيارات innodb_flush_log_at_trx_commit عندما قررت حفظ سجل المعاملة.

في الخلية تستخدم وحدة المعاملات للعمل

1، وبداية المعاملات

start transaction

2، هل حفظ نقطة

savepoint 保存点名称

3، وهذه العملية

4، يمكن أن يتراجع، يمكنك أن تقدم، لا مشكلة، ونحن تقديم، هناك مشاكل عملية.

PHP المثال المعاملة المستخدمة

<?php
$handler=mysql_connect("localhost","root","password");
mysql_select_db("task");
mysql_query("SET AUTOCOMMIT=0");//设置为不自动提交,因为MYSQL默认立即执行
mysql_query("BEGIN");//开始事务定义
if(!mysql_query("insert into trans (id) values('2')"))
{
mysql_query("ROLLBACK");//判断当执行失败时回滚
}
if(!mysql_query("insert into trans (id) values('4')"))
{
mysql_query("ROLLBACK");//判断执行失败回滚
}
mysql_query("COMMIT");//执行事务
mysql_close($handler);
?>