分类 默认分类 下的文章

备忘,当对一个有唯一索引字段的表做插入操作INSERT INTO 时做遇到冲突则更新的逻辑ON DUPLICATE KEY UPDATE
想知道此时是否仍然能够获取到 操作的行的id值db.lastrowid

sql = "INSERT INTO `mTable`(`id`, `tfsn`)  " \
          "VALUES(%s, %s) " \
          "ON DUPLICATE KEY UPDATE `tfsn`=VALUES(`tfsn`);"

vals = (id, tfsn)

try:
    db.execute(sql, vals)

    new_cid = db.lastrowid
    print("tfid:", tfid) #如果触发了update 可以获得id值?

结论是,能,也可能不。
当触发update 有内容变更时,可以获得 id值;
当update的内容新旧完全一致前后没有变化的话,mysql会认为没有任何行被更新。所以返回的 id 会是0

Okay长话短说。实际上有点标题党,因为最终的解决方啊并非直接用纯PHP实现了旧版word文件的处理。
由于时间已经不早了,为了争取续命睡眠的时间,我会在项目做的差不多之后在回顾之时补完这篇日志。

需求背景

由于甲方的一些客观条件约束。有一大批原始素材内容是旧版word格式(.doc) 。希望能直接从固定格式的文档内提取和整理内容导入数据库。
服务端环境为linux

备选方案

  1. PHP自身的扩展 php_com_dotnet.dll
  2. PHP的第三方插件PHPWord
  3. PHP调用服务器的第三方程序antiword
  4. 和上一个解决方案类似,后端用Python 跑一个服务监听待处理word文档队列,异步处理。

在可行性研究阶段目前已经否决了前3种方案,正在用第四种方法迂回实现需求。



- 阅读剩余部分 -

详细公告见 https://magnetwork.io/mag-goes-stellar/

团队改为集成到XLM链的主要考虑是目前币圈的氛围比较冷淡,担忧维护独立主链节点数量不足会造成链易分叉易受攻击滚动慢的缺陷。

集成的方式是使用相同团队开发的 移动端 stellar钱包 LITEMINT 激活其中的magnet资产(需要存入至少2 XLM)获得mag地址后把mag存入,会自动转换为 mag token。

Screenshot_2019-10-16-10-47-29-616_com.litemint.app.png

可以理解为swap,但实际上XLM链上的 mag 是可以双向流动的,可以反向发往mag钱包;
在开发者担心的mag链健康状况恶化发生以前,mag钱包和节点仍可以长时间正常运作包括节点奖励和 Pos奖励;
LITEMINT钱包内的 MAG同样支持Pos奖励;

前景虽然悲观,但这个swap措施看出开发者态度还是很积极的。
2019寒冬仍未散去,抱团取暖也许不是一个坏主意。

之前外接了显示器然后配置好所有东西(WIFI,SSH,ROOT,VNC,VIDEO DEVS),顺便开vnc验证过一切都正常。

今天拆掉所有东西,只连电源启动后发现vnc按提示登录后没画面。
ssh也能连上,也检查过设置是开机进入图形界面,并不是 CLI。

我想..不可能VNC设置要求外接着hdmi才有效这么弱智。

确实不用,参考答案在这里
http://shumeipai.nxez.com/2019/07/08/set-the-resolution-of-the-raspberry-pi-vnc.html

raspi-config

进入Advance Options -> Resolution 设置自己需要的分辨率,保存后重启。

搞定