用户
 找回密码
 入住 CI 中国社区
搜索
查看: 3039|回复: 3
收起左侧

[数据库] 请教一下update_batch这个方法

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

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

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

    [3] => Array
        (
            [id] => 2600943
            [question] => 病人男性,68岁,65kg。一周前因胃体癌而行全胃切除术。病人感到疲乏、无力,站立时头晕,心率110次/分,脉细。尿比重1.010,血钠浓度为125mmol/L,血钾浓度为3.6mmol/L。病人目前存在什么问题?应如何处理?
            [answer] => 依据临床表现及血钠和尿比重的测定结果,病人存在中度低渗性缺水。治疗方面,首先积极处理原发病,根据病人血液低渗的特点应静脉输注含钠溶液或高渗盐水。公式计算补钠的剂量,仅供参考。先补充所需量的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');
 楼主| 发表于 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);
发表于 2019-5-18 00:25:59 | 显示全部楼层
你的 CI 是什么版本?有没有试过重新下载最新的 CI?

本版积分规则