uti6770werty 最近的时间轴更新
uti6770werty

uti6770werty

V2EX 第 444609 号会员,加入于 2019-10-04 14:39:12 +08:00
根据 uti6770werty 的设置,主题列表被隐藏
二手交易 相关的信息,包括已关闭的交易,不会被隐藏
uti6770werty 最近回复了
@stephenyin 成功了,搞不懂为啥把变量放后面就可以。。。
@duke807 在两个步骤之间,我增加过一个 export 输出当前环境变量打印出来,
export PATH="$PATH:/usr/local/mysql/bin:/root"
这条在 shell 的运行过程中,确实没有应用上。。。
这是来显摆域名的吧?
2022-02-18 12:45:57 +08:00
回复了 uti6770werty 创建的主题 MySQL 求助 SQL 语句,关于 INSERT INTO xxx ON DUPLICATE KEY UPDATE...
我的情况是,触发器过于维护复杂,安置的时候很爽,但后面有变动就算有文档都变得困难。。。

最后,
INSERT INTO mcrun (starttime,loop,chckport,mcid,UpdateTime) VALUES ('2022-02-15 09:20:11','9','R','217',NOW())
ON DUPLICATE KEY UPDATE
`UpdateTime`=IF(`starttime`<>'2022-02-22 22:22:22',NOW(),`UpdateTime`),
`UpdateTime`=IF(`loop`<>'9' OR `loop` IS NULL,NOW(),`UpdateTime`),
`starttime`=IF(`starttime`<>'2022-02-22 22:22:22','2022-02-22 22:22:22',`starttime`),
`loop`=IF(`loop`<>'9' OR `loop` IS NULL),'9',`loop`);

算研究出来了,
逐个目标拆开写,细写,
我想的是,SET 的顺序优先考虑 UpdateTime 处理了,再去判断真正的数值,
这个逻辑在这个案例里够用,目前妥妥的正常,
不知道会不会有什么幺蛾子没预料会发生的。。。。
2022-02-18 11:29:25 +08:00
回复了 uti6770werty 创建的主题 MySQL 求助 SQL 语句,关于 INSERT INTO xxx ON DUPLICATE KEY UPDATE...
谢谢各位,我没有用 ORM 的方式去与数据库交互,至于自增 id ,其实也不需要去考虑的,因为数据的发展永远到不了极限。。。

我琢磨着试试写:
```
INSERT INTO mcrun (starttime,loop,chckport,mcid,UpdateTime) VALUES ('2022-02-15 09:20:11','9','R','217',NOW())
ON DUPLICATE KEY UPDATE `starttime`=IF(`starttime`<>'2022-02-22 22:22:22','2022-02-22 22:22:22',`starttime`),
`loop`=IF((`loop`<>'9' OR `loop` IS NULL),'9',`loop`),
`UpdateTime`=IF(`starttime`<>'2022-02-22 22:22:22' OR `loop`<>'9',NOW(),`UpdateTime`);
```

1 、starttime 和 loop 都能被逻辑识别和修改成功,
2 、主要是 UpdateTime ,好像条件没成立,也会被更新,是不是 SQL 语句做不了这么的逻辑判断?
2022-02-17 22:25:06 +08:00
回复了 uti6770werty 创建的主题 MySQL 求助 SQL 语句,关于 INSERT INTO xxx ON DUPLICATE KEY UPDATE...
也就是想把逻辑判断也做在 SQL 语句里
2022-02-17 22:24:29 +08:00
回复了 uti6770werty 创建的主题 MySQL 求助 SQL 语句,关于 INSERT INTO xxx ON DUPLICATE KEY UPDATE...
@zhoudaiyu [如果存在则更新除了 uniquekey 以外的数据] ,这个 SQL 是会把 UpdateTime 也更新过去的,数据没有变化的话
2022-02-17 18:14:11 +08:00
回复了 uti6770werty 创建的主题 Python 用 PooledDB 的 V 友,组装出来的 SQL 语句,不能一次执行?
@ruanimal



搞了 N 天,我是试着把
POOL = PooledDB(
# creator=pymysql, # 使用链接数据库的模块
creator=MySQLdb, # 使用链接数据库的模块
换成了 MySQLdb 引擎后,SQL 语句的多句执行就正常了
搞不懂是怎么回事
目前执行语句量不大,也没看出会有什么幺蛾子。。。
@liprais PooledDB 的 connection 很奇怪的,它这里 600 只是最高允许 600 而已,我现在只是一台数据处理电脑向 MySQL 写数据而已,SHOW PROCESSLIST 看,也就 7,8 条连接
上面忘了说一个事情,就是就算是峰值 17W 条数据里也好,平时 5,6 千条也好,很多时候都队列的数据,是表里已经有的了,表的索引机制已经避免了重复插入数据,所以存表里的数据量其实不多的。。。

@liprais 8 核,16 线程,CentOS 6 + MySQL 5.5,按月份分表,最多的表数据不过 800 万
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3984 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 11ms · UTC 05:18 · PVG 13:18 · LAX 21:18 · JFK 00:18
Developed with CodeLauncher
♥ Do have faith in what you're doing.