jiafeizhou 发表于 2019-5-16 21:38:11

请教一下update_batch这个方法

Array
(
    => Array
      (
             => 266376
             => 病人男性,68岁,65kg。一周前因胃体癌而行全胃切除术。病人感到疲乏、无力,站立时头晕,心率110次/分,脉细。尿比重1.010,血钠浓度为125mmol/L,血钾浓度为3.6mmol/L。病人目前存在什么问题?应如何处理?
             => 依据临床表现及血钠和尿比重的测定结果,病人存在中度低渗性缺水。治疗方面,首先积极处理原发病,根据病人血液低渗的特点应静脉输注含钠溶液或高渗盐水。公式计算补钠的剂量,仅供参考。先补充所需量的1/2和当日生理需要量,余量次日补足。
      )

    => Array
      (
             => 2538401
             => 病人男性,68岁,65kg。一周前因胃体癌而行全胃切除术。病人感到疲乏、无力,站立时头晕,心率110次/分,脉细。尿比重1.010,血钠浓度为125mmol/L,血钾浓度为3.6mmol/L。病人目前存在什么问题?应如何处理?
             => 依据临床表现及血钠和尿比重的测定结果,病人存在中度低渗性缺水。治疗方面,首先积极处理原发病,根据病人血液低渗的特点应静脉输注含钠溶液或高渗盐水。公式计算补钠的剂量,仅供参考。先补充所需量的1/2和当日生理需要量,余量次日补足。
      )

    => Array
      (
             => 2541008
             => 病人男性,68岁,65kg。一周前因胃体癌而行全胃切除术。病人感到疲乏、无力,站立时头晕,心率110次/分,脉细。尿比重1.010,血钠浓度为125mmol/L,血钾浓度为3.6mmol/L。病人目前存在什么问题?应如何处理?
             => 依据临床表现及血钠和尿比重的测定结果,病人存在中度低渗性缺水。治疗方面,首先积极处理原发病,根据病人血液低渗的特点应静脉输注含钠溶液或高渗盐水。公式计算补钠的剂量,仅供参考。先补充所需量的1/2和当日生理需要量,余量次日补足。
      )

    => Array
      (
             => 2600943
             => 病人男性,68岁,65kg。一周前因胃体癌而行全胃切除术。病人感到疲乏、无力,站立时头晕,心率110次/分,脉细。尿比重1.010,血钠浓度为125mmol/L,血钾浓度为3.6mmol/L。病人目前存在什么问题?应如何处理?
             => 依据临床表现及血钠和尿比重的测定结果,病人存在中度低渗性缺水。治疗方面,首先积极处理原发病,根据病人血液低渗的特点应静脉输注含钠溶液或高渗盐水。公式计算补钠的剂量,仅供参考。先补充所需量的1/2和当日生理需要量,余量次日补足。
      )

)


A Database Error Occurred

               
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 'THEN '266376'
WHEN `id` =THEN '2538401'
WHEN `id` =THEN '2541008'
WHEN `id` ' at line 2

UPDATE `question` SET `id` = CASE
WHEN `id` =THEN '266376'
WHEN `id` =THEN '2538401'
WHEN `id` =THEN '2541008'
WHEN `id` =THEN '2600943'
ELSE `id` END, `question` = CASE
WHEN `id` =THEN '病人男性,68岁,65kg。一周前因胃体癌而行全胃切除术。病人感到疲乏、无力,站立时头晕,心率110次/分,脉细。尿比重1.010,血钠浓度为125mmol/L,血钾浓度为3.6mmol/L。病人目前存在什么问题?应如何处理?'
WHEN `id` =THEN '病人男性,68岁,65kg。一周前因胃体癌而行全胃切除术。病人感到疲乏、无力,站立时头晕,心率110次/分,脉细。尿比重1.010,血钠浓度为125mmol/L,血钾浓度为3.6mmol/L。病人目前存在什么问题?应如何处理?'
WHEN `id` =THEN '病人男性,68岁,65kg。一周前因胃体癌而行全胃切除术。病人感到疲乏、无力,站立时头晕,心率110次/分,脉细。尿比重1.010,血钠浓度为125mmol/L,血钾浓度为3.6mmol/L。病人目前存在什么问题?应如何处理?'
WHEN `id` =THEN '病人男性,68岁,65kg。一周前因胃体癌而行全胃切除术。病人感到疲乏、无力,站立时头晕,心率110次/分,脉细。尿比重1.010,血钠浓度为125mmol/L,血钾浓度为3.6mmol/L。病人目前存在什么问题?应如何处理?'
ELSE `question` END, `answer` = CASE
WHEN `id` =THEN '依据临床表现及血钠和尿比重的测定结果,病人存在中度低渗性缺水。治疗方面,首先积极处理原发病,根据病人血液低渗的特点应静脉输注含钠溶液或高渗盐水。公式计算补钠的剂量,仅供参考。先补充所需量的1/2和当日生理需要量,余量次日补足。'
WHEN `id` =THEN '依据临床表现及血钠和尿比重的测定结果,病人存在中度低渗性缺水。治疗方面,首先积极处理原发病,根据病人血液低渗的特点应静脉输注含钠溶液或高渗盐水。公式计算补钠的剂量,仅供参考。先补充所需量的1/2和当日生理需要量,余量次日补足。'
WHEN `id` =THEN '依据临床表现及血钠和尿比重的测定结果,病人存在中度低渗性缺水。治疗方面,首先积极处理原发病,根据病人血液低渗的特点应静脉输注含钠溶液或高渗盐水。公式计算补钠的剂量,仅供参考。先补充所需量的1/2和当日生理需要量,余量次日补足。'
WHEN `id` =THEN '依据临床表现及血钠和尿比重的测定结果,病人存在中度低渗性缺水。治疗方面,首先积极处理原发病,根据病人血液低渗的特点应静脉输注含钠溶液或高渗盐水。公式计算补钠的剂量,仅供参考。先补充所需量的1/2和当日生理需要量,余量次日补足。'
ELSE `answer` END
WHERE `id` IN(,,,)

Filename: D:/wamp64/www/yun/system/database/DB_driver.php

Line Number: 691

这里数据都是正常的,为什么会报这个错误呢,下面是代码

$this->db->update_batch('question', $fields, 'id');

jiafeizhou 发表于 2019-5-16 21:39:54

求解答:'(

jiafeizhou 发表于 2019-5-16 21:48:48

本帖最后由 jiafeizhou 于 2019-5-16 21:49 编辑

正常的语句应该是这样的:
UPDATE `question`
      SET `question` = CASE
      WHEN `id` = 225972 THEN
            '不存在于人体蛋白质分子中的氨基酸是'
      WHEN `id` = 225973 THEN
            '组成人体蛋白质多肽链的基本单位是'
      ELSE
            `question`
      END
      WHERE
            `id` IN (225972, 225973);

Hex 发表于 2019-5-18 00:25:59

你的 CI 是什么版本?有没有试过重新下载最新的 CI?
页: [1]
查看完整版本: 请教一下update_batch这个方法