gpt4 book ai didi

mysql - 在 mySQL/phpmyadmin 中创建新列时出现问题

转载 作者:行者123 更新时间:2023-11-30 21:28:22 26 4
gpt4 key购买 nike

我在 phpMyAdmin(在服务器中)中有一个 mySQL 表,但我在创建和保存新列时遇到了问题。

表名为'visage',它存在并且已经有以下变量:

ind1    int(15)
lien1 varchar(2083)
dire text
ind2 ind(15)
lien2 varchar(2083)
delta int(15)

我想添加一个名为“inddir”的新列,其中的值将取决于“ind1”和“dire”列中的值,方法是使用 SELECT/CASE/WHEN:


SELECT *,

CASE

WHEN `dire` = 'der' THEN ((ind1*10)+0)

WHEN `dire` = 'izq' THEN ((ind1*10)+1)

WHEN `dire` = 'del' THEN ((ind1*10)+2)

WHEN `dire` = 'atr' THEN ((ind1*10)+3)

WHEN `dire` = 'arr' THEN ((ind1*10)+4)

WHEN `dire` = 'abj' THEN ((ind1*10)+5)

END AS `inddir`

FROM `visage`

此请求无效:

--> 在 phpMyAdmin 中:https://ibb.co/54GpX4N

我直接在代码中获取错误:“Unrecognized keyword.(near AS)”和“Unexpected token.(near inddir) https://ibb.co/1ZZ4rc1

但是,当我不使用“AS indir”时,mySQL 会按照我想要的方式创建一个新列,但名称是完整的查询 --> 而我无法保存此列。

--> 在 phpMyAdmin 中:https://ibb.co/PY82Kwq

有人可以告诉我如何按预期创建 inddir 列,然后能够将这个新列保存在 mySQL 表中吗?

非常感谢。

最佳答案

我使用 heidiSQL,它适用于我。您可以尝试使用和不使用“AS”关键字的以下两个版本吗?

SELECT *,
case
when `currency` = 'USD' then 7
when `currency` = 'EUR' then 8
when `currency` = 'JPY' then 9
END as `newcolum`
FROM accounts;

SELECT *,
case
when `currency` = 'USD' then 7
when `currency` = 'EUR' then 8
when `currency` = 'JPY' then 9
END
FROM accounts;

关于mysql - 在 mySQL/phpmyadmin 中创建新列时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57627812/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com