批量插入数据库的sql拼接快捷函数

in 日常随笔 with 1 comment 访问: 2,024 次
    /**
     * 处理批量处理sql
     *
     * @param $table
     * @param $data
     * @return int|string
     */
    private function handleBatchInsertSql ($table, $data)
    {
        $insertPrefix = 'INSERT INTO ' . $table . ' ';

        //处理column
        $columnsArr = array_keys($data[0]);
        foreach ($columnsArr as $column) {
            if (!is_string($column)) {
                return 0;
            }
        }
        $columns = '(`' . implode('`,`', $columnsArr) . '`) ';

        //处理values
        $valuesArr = [];
        foreach ($data as $v) {
            $sub = array_values($v);
            $valuesArr[] = '("' . implode('","', $sub) . '")';
        }

        $values = ' VALUES ' . implode(',', $valuesArr);

        return $insertPrefix . $columns . $values;
    }
赞赏支持
Responses
  1. 有时候需要拼接一条插入的sql,避免循环执行数据库请求的,方便下次复制粘贴

    Reply