ThinkPHP数据库操作——数据新增

一、单数据新增

1.1 使用insert方法添加数据

  • 使用insert()方法可以向数据表中添加一条数据,更多的字段采用默认。

  • 如果插入成功,则会返回一个1值。

  • 如果插入一个不存在的字段,则会抛出一个异常。

  • 如果想强行新增抛弃不存在的字段数据,则使用 strick(false)方法,忽略异常。

use think\facade\Db;

class DataBaseTest
{
    
    
    public function insert()
    {
    
    
        $data = [
            'username' => 'jiangxiaoju',
            'password' => '123',
            'gender' => '男',
            'email' => '[email protected]',
            'price' => 90,
            'details' => '123'
        ];
        $res = Db::name('user')->insert($data);
//        $res = Db::name('user')->strict(false)->insert($data);
        return json($res);
    }
}

使用insertGetId()方法,可以在新增成功后返回当前数据的ID。

use think\facade\Db;

class DataBaseTest
{
    
    
    public function insert()
    {
    
    
        $data = [
            'username' => 'jiangxiaoju2',
            'password' => '123',
            'gender' => '男',
            'email' => '[email protected]',
            'price' => 90,
            'details' => '123'
        ];
        $res = Db::name('user')->replace()->insert($data);
        return Db::name('user')->insertGetId($data);
    }
}

1.2 使用save方法新增。

save()方法是一个通用方法,可以自行判断是新增还是修改(更新)数据;若不存在逐渐则新增,反之为修改。

use think\facade\Db;

class DataBaseTest
{
    
    
    public function insert()
    {
    
    
        $data = [
            'id' => 302,
            'username' => 'jiangxiaoju2',
            'password' => '123',
            'gender' => '男',
            'email' => '[email protected]',
            'price' => 90,
            'details' => '123'
        ];
         $res = Db::name('user')->save($data );
         echo Db::getLastSql();
    }
}

二、批量数据新增

2.1 使用insertAll()方法批量插入

使用insertAll()方法可以批量插入数据,但是数组结构必须保持一直。

use think\facade\Db;

class DataBaseTest
{
    
    
    public function insert()
    {
    
    
        $data = [
            [
                'username' => 'jiangxiaoju3',
                'password' => '123',
                'gender' => '男',
                'email' => '[email protected]',
                'price' => 90,
                'details' => '123'
            ],
            [
                'username' => 'jiangxiaoju4',
                'password' => '123',
                'gender' => '男',
                'email' => '[email protected]',
                'price' => 90,
                'details' => '123'
            ],
            [
                'username' => 'jiangxiaoju5',
                'password' => '123',
                'gender' => '男',
                'email' => '[email protected]',
                'price' => 90,
                'details' => '123'
            ],
        ];
        $res = Db::name('user')->insertAll($data);
        return $res;
    }
}

猜你喜欢

转载自blog.csdn.net/qq_43058685/article/details/112516283