Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/63.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql Codeigniter:DB列选择回退_Mysql_Codeigniter - Fatal编程技术网

Mysql Codeigniter:DB列选择回退

Mysql Codeigniter:DB列选择回退,mysql,codeigniter,Mysql,Codeigniter,我正在开发codeigniter多语言应用程序,我将在db中存储语言,如下所示: +++++++++++++++++++++++++++++ id + EN + HU +++++++++++++++++++++++++++++ +++++++++++++++++++++++++++++ hy + Hy! + Szia! +++++++++++++++++++++++++++++ 1 + One + Egy 可能会出现“HU”

我正在开发codeigniter多语言应用程序,我将在db中存储语言,如下所示:

+++++++++++++++++++++++++++++
   id   +   EN    +   HU
+++++++++++++++++++++++++++++
+++++++++++++++++++++++++++++
   hy   +   Hy!   +   Szia!
+++++++++++++++++++++++++++++
    1   +   One   +   Egy
可能会出现“HU”列中的值为空,但其填充为“EN”的情况,因为这是默认语言。所以问题是,如果值为“EN”的列为空,如何选择“HU”列作为回退

我知道选择这两个列并运行一个简单的PHP脚本可以很容易地解决这个问题,但我的计划是只使用MySQL来解决这个问题

有什么想法吗?

试试看

SELECT ( CASE WHEN HU IS NULL OR HU = '' THEN EN ELSE HU END ) AS LANG
FROM table_name
WHERE id = '1'
hu为空时的结果id='1'

One
Egy
hu不为空时的结果id='1'

One
Egy
注意:仅当您试图获取lang HU时,此查询才正确


CASE当
条件是某种SQL的
IF语句

谢谢,我很快就会试试。