php - 准备好的批次/批量插入 w/ 生成的列
问题描述
我的辅助函数处理准备好的批量插入有问题。如果有生成的列,助手会中断,因为Column count doesn't match value count at row...
.
我正在使用的语句是$sql = "INSERT INTO ".$table." VALUES ".$values;
我认为这不会是一个问题,因为它是一个生成和存储的列。有没有办法解决这个问题而不必指定我要插入的列?可能完全忽略此列?我看到的唯一用途IGNORE
是行。
解决方案
您必须列出除生成的列之外的所有列
就像你在例子中看到的
CREATE TABLE triangle (
sidea DOUBLE,
sideb DOUBLE,
sidec DOUBLE AS (SQRT(sidea * sidea + sideb * sideb))
);
INSERT INTO triangle (sidea, sideb) VALUES(1,1),(3,4),(6,8);
如您所见,将生成 sidec,因此不会将其放入 INSERT 子句
推荐阅读
- java - 在 macOS 上通过 brew 安装 JRE(但不是 JDK)
- angular7 - 如何将数据传递给自定义组件的标记?
- javascript - 如何禁用具有以逗号分隔的多个值的选项?
- android - Android WebView - 滚动条不填充 layout_height
- uinavigationcontroller - 如何从导航控制器中找到可见的 pushViewController?
- javascript - 在 nodeJs 中使用 require 的最佳方法
- json - ClickHouse Kafka Engine 可以使用压缩的 JSON 消息吗?
- javascript - JavaScript window.location.href 代码不起作用
- git - 将现有的 Android Studio 项目添加到现有的 GitHub 存储库
- iphone - 初始化 Dart VM 时出现 Flutter 应用程序错误:错误的完整快照版本,预期为 '8343 .....' 发现 '46b2 ....'