MySQL:将主键返回为null

Hyd*_*erA 0 mysql sql

   SELECT pr.id as process_id, 
          lo.update_time as start_date, 
          REPLACE( sc.message, 'ip.ip.ip.ip', lo.variables ) as message, 
          sc.code 
     FROM logs AS lo 
LEFT JOIN processes AS pr ON lo.process_id = pr.id
LEFT JOIN status_codes AS sc ON lo.status_code_id = sc.code
 ORDER BY lo.id DESC 
    LIMIT 14
Run Code Online (Sandbox Code Playgroud)

该查询的问题是它将process_id作为所有NULL值返回,即使这是该表的自动递增主键而没有任何NULL值.

Mar*_*ith 6

使用SELECT lo.process_idSELECT pr.id as process_id

其中的行pr.id是表中NULL不存在记录的行processes pr.

这些是保留的,因为你使用的是LEFT OUTER JOIN而不是INNER JOIN