小编Sau*_*yal的帖子

Update和Insert查询之间的死锁

我在Update和Insert查询之间的应用程序中遇到了死锁,我无法理解为什么会以导致死锁的方式给出锁.

环境-

  • 应用程序 - Django
  • 数据库 - MySQL 5.7
  • 发动机 - Innodb
  • 隔离级别 - READ COMMITTED.
  • 表(为安全而更改名称) -
    1. M - 主键 - id
    2. MSC - 拥有M.id的外键
      • MSC上的索引
        1. M(FK)指数
        2. S(FK)指数
        3. C(FK)指数
        4. 关于唯一约束的索引(M,S,C)

查询-以下两个查询(查询截断,只显示相关列) -

  • 更新 -

    UPDATE `MSC` SET `m_id` = 110, `s_id` = 1234, `c_id` = '9b39cd', WHERE `MSC`.`id` = 54362

  • 插入 -

    INSERT INTO `MSC` (`m_id`, `s_id`, `c_id`) VALUES (110, 1235, '9b39cd')

僵局-

  • 首先触发更新查询,然后触发插入查询,但SHOW ENGINE INNODB STATUS\G;显示插入先前启动的查询的输出.
  • 从输出来看,他们执行的时间似乎是以下面的方式导致死锁 -
    • Insert在MSC上获得独占(X)锁并等待外键M上的共享(S)锁.
    • Update获得M上的独占(X)锁定并等待外键MSC上的独占(X)锁定.
  • 以下是完整输出 -

    ------------------------
    LATEST DETECTED …

mysql database django deadlock

9
推荐指数
1
解决办法
809
查看次数

在 django 中创建 User 对象的各种方法有什么区别?

我搜索过,但找不到正确的答案。目前在 django 中,我们有三种方法可以使用自定义管理器创建用户 -

1)通过创建对象实例并调用save()它-

u = User(name="some_name", password="some_password")
u.save()
Run Code Online (Sandbox Code Playgroud)

2)通过呼叫create()经理-

u = User.objects.create(name="some_name", password="some_password")
Run Code Online (Sandbox Code Playgroud)

3)通过呼叫create_user()经理-

u = User.objects.create_user(name="some_name", password="some_password")
Run Code Online (Sandbox Code Playgroud)

诸如它们在内部如何工作以及它们如何相似和不同之类的信息将非常有帮助。

python django object

5
推荐指数
1
解决办法
262
查看次数

Spoj LastDigit错误答案

链接问题 Spoj LastDigit问题

我已经在我的机器上测试了我的代码但是在SPOJ中它显示了错误的答案.这是我的代码 -

#include<stdio.h>
int main()
{
 int num=0;
 scanf("%d",&num);
 while(num--)
 {      
  int a=0;
  unsigned long int b;
  scanf("%d\t%lu",&a,&b);
  a%=10;
  b%=100;
  if(a==0||a==1)
    printf("%d\n",a);
  else if(b==0)
    printf("1\n");
  else if(a==5)
    printf("5\n");
  else
  {
    int d=b%4,e=1;
    while(d--)
      e*=a;     
    printf("%d\n",e%10);        
  }
 }
 return 0;
}
Run Code Online (Sandbox Code Playgroud)

c digits

0
推荐指数
1
解决办法
170
查看次数

标签 统计

django ×2

c ×1

database ×1

deadlock ×1

digits ×1

mysql ×1

object ×1

python ×1