【问题标题】:MySQL limit and offset errorMySQL 限制和偏移错误
【发布时间】:2016-06-18 01:43:56
【问题描述】:

我正在做这个分页,我的查询中有这个错误

Error Number: 1064

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'LIMIT 0 , 10' at line 9

SELECT job_availability.JOB_CODE, job_titles.JOB_NAME, job_availability.AVAILABILITY FROM job_titles LEFT JOIN job_availability ON job_availability.JOB_CODE = job_titles.JOB_CODE ORDER BY job_titles.JOB_NAME, LIMIT 0 , 10

我正在尝试这样做

function get_department_list($limit, $start)
{
    $sql = 'select var_dept_name, var_emp_name from tbl_dept, tbl_emp where tbl_dept.int_hod = tbl_emp.int_id order by var_dept_name limit ' . $start . ', ' . $limit;
    $query = $this->db->query($sql);
    return $query->result();
}

我的代码是

public function get_list($limit , $start){

    $sql = ('SELECT 
                job_availability.JOB_CODE, 
                job_titles.JOB_NAME, 
                job_availability.AVAILABILITY
            FROM job_titles
            LEFT JOIN job_availability
            ON job_availability.JOB_CODE = job_titles.JOB_CODE
            ORDER BY job_titles.JOB_NAME,
            LIMIT ? , ?');
    $data = array($start, $limit);
    $query =  $this->db->query($sql, $data);
}

我认为我的代码没有问题,所以我不确定错误是什么。我的 MySQL 版本是 5.6.24。

【问题讨论】:

    标签: sql select pagination limit codeigniter-3


    【解决方案1】:

    order by 子句的末尾 limit 子句之前有一个多余的逗号 (,)。只需将其删除,就可以了:

    SELECT 
        job_availability.JOB_CODE, 
        job_titles.JOB_NAME, 
        job_availability.AVAILABILITY
    FROM job_titles
    LEFT JOIN job_availability
    ON job_availability.JOB_CODE = job_titles.JOB_CODE
    ORDER BY job_titles.JOB_NAME
    -- Comma removed here ------^
    LIMIT ? , ?
    

    【讨论】:

      猜你喜欢
      • 2017-03-17
      • 1970-01-01
      • 2016-02-25
      • 2022-11-03
      • 2021-12-29
      • 2011-03-11
      • 1970-01-01
      • 1970-01-01
      • 2014-03-08
      相关资源
      最近更新 更多