合理使用django+mysql

mac2022-06-30  78

1 前言

随着码龄的增长,对之前写的django+mysql深表遗憾(差的没边)。

本文先零碎记录,日后有机会再系统化。

 

2 一些经验

2.1 如果业务逻辑包含多条sql, 要考虑原子操作。

2.2 mysql的upsert操作

insert into A select a,b,c,d from B ON DUPLICATE KEY UPDATE `c` = VALUES(`c`) , `d` = VALUES(`d`)

其中a为主键

如果主键a在表A不存在,则插入(a,b,c,d)到表A如果主键a在表A存在,则在表A中更改主键为a的记录(修改c,d)

2.3 mysql的update + select 操作

UPDATE A inner join B on A.id = B.id set A.k = B.k

其中:将A表的字段k更新为B.k

 2.4 数据库死锁

select * from information_schema.innodb_trx \G; select concat('KILL ',id,';') from information_schema.processlist

  

转载于:https://www.cnblogs.com/flypig258/p/11543444.html

最新回复(0)