gpt4 book ai didi

php - 如何在操作期间使用 php/yii 锁定表

转载 作者:行者123 更新时间:2023-11-29 07:50:12 25 4
gpt4 key购买 nike

我的 table :

CREATE TABLE IF NOT EXISTS `detail_transaction` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`created_date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
`code` varchar(100) COLLATE utf8_unicode_ci NOT NULL,
`id_product` int(11) NOT NULL,
`id_store` int(11) NOT NULL,
`input_quality` int(11) NOT NULL,
`output_quality` int(11) NOT NULL,
`quality_in_store` int(11) NOT NULL,
PRIMARY KEY (`id`)
)

我遇到的问题如下:

I get record have max_id, and then before i insert new record, having another process insert new record was inserted.

我认为:我将在“我选择一条具有 max_id 的记录”期间锁定表到“我已完成插入新的下一条记录”(不要对该表运行任何任务)。并做此方法。请帮我!如何通过 php 代码或 Yii 来做到这一点。

最佳答案

您可以使用事务:

$transaction = Yii::app()->db->beginTransaction();
try {
foreach ($items as $item) {
$item->attr = value;
$item->save();
}
$transaction->commit();
// actions to do on success (redirect, alert, etc.)
} catch (Exception $e) {
$transaction->rollBack();
// other actions to perform on fail (redirect, alert, etc.)
}

此源代码来自这篇文章:using transaction in a loop in yii

关于php - 如何在操作期间使用 php/yii 锁定表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26671507/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com