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
命令行演示效果如下
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 托管堆内存泄露/CPU异常的常见思路
· PostgreSQL 和 SQL Server 在统计信息维护中的关键差异
· C++代码改造为UTF-8编码问题的总结
· DeepSeek 解答了困扰我五年的技术问题
· 为什么说在企业级应用开发中,后端往往是效率杀手?
· 清华大学推出第四讲使用 DeepSeek + DeepResearch 让科研像聊天一样简单!
· 推荐几款开源且免费的 .NET MAUI 组件库
· 实操Deepseek接入个人知识库
· 易语言 —— 开山篇
· Trae初体验