V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  uti6770werty  ›  全部回复第 1 页 / 共 3 页
回复总数  54
1  2  3  
@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 万
@BBCCBB

@heyjei

队列里,不全是 INSERT INTO 。。,也许还有偶然一两个 ALERT 也不一定,要按 FIFO 顺序,所以就不好套批量模板了。。。

by the way,有试过 sqlcmd + ";" + sqlcmd,这样操作过,但似乎 PooledDB.conn.cursor().excute 不支持这种多语句组装命令执行? 前几天有试过,当时没成功,没研究下去,后面去研究如何高并发去了,结果更迷糊,就这个场合用,现有的高并发非常折腾。。。
2021-05-31 17:18:02 +08:00
回复了 uti6770werty 创建的主题 MySQL Mysql group by 然后再 order by,但不能按最新时间查询出来...
@setsunakute 我好像看懂了意思,只是这个要出结果要很久,我这里是 70 多秒才能出来。。。

@rockyliang 是的,每个分组留下 logtime 最新的那一行,然后按 logtime DESC 排序,人话就是:要看每个 proc,最后的 logtime 的整行全部列的内容(*)。。。
@liprais 使用了 2,3 天,ping3 表现相当不靠谱(也有可能是我 PC 的问题,但不会是网络的问题)
while True:
time.sleep(1)
respon = ping3.ping('192.168.33.13',unit='ms',size=128) # 局域网内
print(respon)

respon 可以是这样:
14.000177383422852
13.000011444091797
13.000011444091797
16.000032424926758
0.0
0.0
0.0
0.0
0.0
15.599727630615234
0.0
12.000083923339844
11.00015640258789
14.000177383422852
12.000083923339844

我在另外一个 cmd 窗口,ping -t,延时和连续,稳定如老狗。。。
没啥更好便捷的,真准备上自行车了。。。。
2021-04-18 23:01:44 +08:00
回复了 uti6770werty 创建的主题 MySQL 请教一个 Mysql 条件更新语句,一句完成
@CEBBCAT 赞一个,思路拐了一个弯就没想到,感谢!
@wevsty 明白您的意思,Python 3.66 的 str 已经没有 decode()这个方法了,虽然知道是要转成 gbk,一直都没能找到 utf-8-SIG 转 gbk 的正确方式....
@wevsty 内容带了一堆\xa0,\r\n 的特殊字符,

还是想在做 BeautifulSoup 之前,正确地把字符编码转好
还是根本没办法,必须要对这些\xa0,特殊字符做手动替换吗?
@renmu123 明白,可是我 print(htmlString),已经能看到中文了
str 对象携带的内容编码是 UTF-8-SIG
搜了网络,似乎从来没有人做过对 str 对象本身要转编码这种事情。。。。
@ClutchBear 每个.py 文件,都加了的。。。。
如果是用 replace 的方式,替换完\xa0,还有\xae,\xa***之类的东西,有些担心会替换了很多有用的字符。。。
1  2  3  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   3271 人在线   最高记录 6543   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 38ms · UTC 12:03 · PVG 20:03 · LAX 05:03 · JFK 08:03
Developed with CodeLauncher
♥ Do have faith in what you're doing.