当前位置: 首页 新闻详细

dedecms如何查看数据库里文件如何查看数据库内容,给商户多付款,元凶竟然是Mysql数据库隐式转换

专业小程序设计开发——助力新电商新零售

电话+V:159999-78052,欢迎咨询如何查看支付商户的经营数据库情况表,[小程序设计与开发],[小程序投流与推广],[小程序后台搭建],[小程序整套源码打包],[为个体及小微企业助力],[电商新零售模式],[小程序运营推广及维护]

一、dedecms如何查看数据库里文件如何查看数据库内容

织梦时如何查看数据库表?

要查看数据库表的内容,需要登录数据库。如果你的网站在空房间,向空房间询问数据库登录地址。只需登录并找到安装时设置的数据库表名。如果您忘记了,请访问data;是你手表的名字。如果有自己的服务器,可以访问自己服务器上的127.0.0.1:3306(默认端口)并登录。

织梦后台dede提示怎么修改?

前台提示修改include/common.func.php这个文件后台提示修改dede/sys_data_done.php这个文件都是在对应文件中找到“DedeCMS提示信息”直接修改就好,应该是两处系统菜单的修改:dedeincinc_menu.php修改前注意备份文件在线反馈和会员中心模板如何修改:/member/templets/怎么修改dedecms自身的信息提示框:

include/common.func.php中的showmsg函数dede在哪修改商城中的支付方式?

去phpmyadmin管理数据库,修改此表de_shops_paytype配送方式修改:后台>会员>配货方式设置支付接口设置:后台>会员>支付接口配置参数

dede数据库名称是什么?

dede_archives文章表,dede_addonarticle附加文章表dede_addonflash附加Flash表dede_addonimages附加图集表dede_addonsoft附加软件表dede_addonspec附加专题表dede_admin管理员信息表dede_admintype系统用户组管理表dede_arcatt文档自定义属性表dede_arcrank阅读权限表dede_arctype栏目管理表希望对你有帮助!

二、能不能通过商户编号查到商户信息?

能通过商户编号查到商户信息


商户编号是商户在注册或加入某个支付平台、银行系统或其他商业系统时,由系统分配给商户的唯一识别码。这个编号通常用于系统内部对商户进行标识和管理。由于商户编号的唯一性,它成为了查询商户信息的关键索引。


在实际应用中,当需要查询某个商户的信息时,可以输入该商户的编号,系统会根据编号在数据库中查找对应的商户记录。这些记录通常包含了商户的基本信息,如商户名称、注册地址、联系方式等,也可能包含商户的经营状况、交易记录等更详细的信息。


当然,能否通过商户编号查到商户信息也取决于系统的设计和权限设置。在某些情况下,为了保护商户的隐私和商业机密,系统可能设置了访问权限,只有具有相应权限的用户才能查询商户信息。此外,如果商户编号被泄露或滥用,也可能导致商户信息的泄露和滥用风险,因此系统通常会采取一系列的安全措施来保护商户编号和商户信息的安全。


综上所述,商户编号是查询商户信息的重要工具,但使用时需要遵守系统的权限设置和安全规定,以确保商户信息的准确性和安全性。

给商户多付款,元凶竟然是Mysql数据库隐式转换

原创2020-08-29 06:49·月牙讲数据库运维

前段时间,生产商付款应用发生了特别大的故障,多给商户付款,于是就各种定位,查看各种日志,并且将最近一段时间的mysql的binlogs日志都解析了,将所有涉及付款表和商户所有的付款交易sql都提取出来,在这里用的binlog2sql工具提取的sql语句,binlog2sql工具的使用,这里就不做介绍了。

最后定位到,原来是有一个OA工单,修改金额的sql语句出现的问题,因为隐式转换,多更新了一条记录。在这里,很多人就不明白,一个隐式转换怎么就多更新了生产上记录。下面来做一下复盘。

1.创建模拟表,并插入测试数据CREATETABLE`t_test`(`id`int(10)unsignedNOTNULLAUTO_INCREMENT,`k`int(12)unsignedNOTNULLDEFAULT'0',`c`char(120)NOTNULLDEFAULT'',`pad`char(60)NOTNULLDEFAULT'',`paymont`double(10,2)DEFAULTNULL,PRIMARYKEY(`id`),KEY`k_1`(`k`))ENGINE=InnoDBAUTO_INCREMENT=10003DEFAULTCHARSET=utf8MAX_ROWS=1000000;insertintot_testvalues(1,4992833,'83868641912','67847967377',100.01);insertintot_testvalues(10001,83749480,'83868641912C','67847967377',100000.00);

数据插入完毕,看看表中数据情况

mysql>select*fromt_testwhereidin(1,10001);+-------+----------+--------------+-------------+-----------+|id|k|c|pad|paymont|+-------+----------+--------------+-------------+-----------+|1|4992833|83868641912|67847967377|100.01||10001|83749480|83868641912C|67847967377|100000.00|+-------+----------+--------------+-------------+-----------+2rowsinset(0.00sec)2.更新paymont金额

由于应用功能不齐全,有时候需要数据库运维人员去更新生产上的记录。在这里的需要是,更新字段C值为83868641912的记录,金额字段paymont,从100.01变为200000。由于生产上的update语句,必须要根据主键进行更新,于是查询出对应的主键值

selectidfromt_testwherec=83868641912;

到这里,大家有看出什么问题,估计有人看出,有的看不出,没关系,执行一下这个select语句,看看结果

mysql>selectidfromt_testwherec=83868641912;+-------+|id|+-------+|1||10001|+-------+2rowsinset,1warning(0.00sec)

然后开发根据获取的ID值写了2个update语句,更新金额,可惜这个开发是新来的,不是很熟悉这块儿业务,只是完成领导交代的任务,写个更新语句,就没有细想,于是悲剧就产生了。

updatet_testsetpaymont=200000whereid=1;updatet_testsetpaymont=200000whereid=10001;

生产上执行完上面2个语句,其结果可想而知

mysql>select*fromt_testwhereidin(1,10001);+-------+----------+--------------+-------------+-----------+|id|k|c|pad|paymont|+-------+----------+--------------+-------------+-----------+|1|4992833|83868641912|67847967377|200000.00||10001|83749480|83868641912C|67847967377|200000.00|+-------+----------+--------------+-------------+-----------+2rowsinset(0.00sec)3.隐式转是元凶

下面来仔细分析一下

selectidfromt_testwherec=83868641912;

字段C是char字符串类型,而83868641912却是整数,在mysql里,两个变量一起比较时,必须类型是一致的,由于83868641912是整数,于是mysql特别智能,人性化的将字段C也转换成整数,其形式如下所示

mysql>SELECTCAST('83868641912C'ASSIGNED);+--------------------------------+|CAST('83868641912C'ASSIGNED)|+--------------------------------+|83868641912|+--------------------------------+1rowinset,1warning(0.00sec)mysql>SELECTCAST('83868641912'ASSIGNED);+-------------------------------+|CAST('83868641912'ASSIGNED)|+-------------------------------+|83868641912|+-------------------------------+1rowinset(0.00sec)

看到没,83868641912C和83868641912转换成整数之后,值是一样的。大家在写sql语句的时候,一定要注意,不要有隐式转换,这不仅仅会导致条件不走索引,sql语句性能变差,而且还可能导致业务逻辑不正确。

最后,祝愿生产系统无bug.

【WINDRISES MINIPROGRAM PROMOTION】尊享直接对接老板

电话+V: 159999-78052

专注于小程序推广配套流程服务方案。为企业及个人客户提供了高性价比的运营方案,解决小微企业和个体拓展客户的问题

如何查看支付商户的经营数据库情况表
发布人:mq951128 发布时间:2024-11-12