medoo数据库插入的问题

今天遇到疾行客同学提出的medoo insert方法不能插入数据库问题,我测试了一下 发现是可以的

而INSERT INTO "t_user" (username) VALUES ('test'); 这条语句总是无法执行,而medoo总是会帮你把数据库的表加上双引号 但是在命令行中无法执行。后来我搞不懂为啥medoo可以执行,发现了一个问题

SET SQL_MODE=ANSI_QUOTES 在起作用 

我们整体是用insert方法插入 而这个方法在833行

$this->exec('INSERT INTO ' . $this->table_quote($table) . ' (' . implode(', ', $columns) . ') VALUES (' . implode($values, ', ') . ')');

方法调用exec方法执行sql,而exec方法在 183行核心代码是

$this->pdo->exec($query);

核心是靠$this->pdo来完成,那么这个东西如何定义的呢

在137行定义赋值

而commands变量是需要执行的,起源于

这样就给链接设定了SQL_MODE

命令行演示效果如下

posted @   李照耀  阅读(1573)  评论(7编辑  收藏  举报
编辑推荐:
· .NET Core 托管堆内存泄露/CPU异常的常见思路
· PostgreSQL 和 SQL Server 在统计信息维护中的关键差异
· C++代码改造为UTF-8编码问题的总结
· DeepSeek 解答了困扰我五年的技术问题
· 为什么说在企业级应用开发中,后端往往是效率杀手?
阅读排行:
· 清华大学推出第四讲使用 DeepSeek + DeepResearch 让科研像聊天一样简单!
· 推荐几款开源且免费的 .NET MAUI 组件库
· 实操Deepseek接入个人知识库
· 易语言 —— 开山篇
· Trae初体验
点击右上角即可分享
微信分享提示