数据库-ORM操作,依赖\x\Db
组件实现。
insert()
:是链式操作的终结方法之一,用于构造单条 或 多条记录新增语句。
该方法调用后会返回最终构造成的SQL语句。
例如:
$Db = new \x\Db();
$Db->name('user')->insert(['name' => '小黄牛', 'money' => 100]);
最终生成的SQL语句类似于:
INSERT INTO sw_user (name,money) VALUES ('小黄牛',100);
例如:
$data = [
['name' => '小蓝牛', 'money' => 50],
['name' => '小红牛', 'money' => 70],
['name' => '小黄牛', 'money' => 100],
];
$Db = new \x\Db();
$Db->name('user')->insert($data);
最终生成的SQL语句类似于:
INSERT INTO sw_user (name,money) VALUES ('小蓝牛',50),('小红牛',70),('小黄牛',100);
注意:当使用批量新增时,所有的插入数据结构顺序需要与第一条数据顺序一致,否则将会出错,例如下列语句就是错误的:
$data = [
['name' => '小蓝牛', 'money' => 50],
['money' => 70, 'name' => '小红牛'],
['money' => 100],
];
$Db = new \x\Db();
$Db->name('user')->insert($data);
提示:v2.5.26
版本起改为多进程分批写入,支持传入一个额外的参数为控制一次批量写入的上限,默认是1000
条一次。
insertGetId()
用法与insert()
方法一致,但不支持批量新增。
若新增成功则返回自增主键ID,起获取主键ID的语法为:SELECT LAST_INSERT_ID() as num;
例如:
$Db = new \x\Db();
$Db->name('user')->insertGetId(['name' => '小黄牛', 'money' => 100]);
最终生成的SQL语句类似于:
INSERT INTO sw_user (name,money) VALUES ('小黄牛',100);
SELECT LAST_INSERT_ID() as num;