【问题标题】:Mysql generated always as column multiply variableMysql 始终作为列乘变量生成
【发布时间】:2021-10-05 03:12:23
【问题描述】:
SELECT @a:= deger1 FROM iscilik1 WHERE Id=16;
ALTER TABLE iscilik1kisiler MODIFY COLUMN deger4 DECIMAL GENERATED ALWAYS AS (@a*deger3) STORED;

大家好。我的代码有问题并给出这样的错误;enter image description here

我找不到问题出在哪里。感谢一切顺利。

【问题讨论】:

  • 您不能在生成的列中使用变量。您可以构造一个字符串并将其作为动态 SQL 执行。
  • 对不起,我对 sql 非常业余。你能给我这个 sql 查询的相同示例吗?
  • 请不要将文本细节(如错误)显示为屏幕截图。视力受损的用户无法阅读您的屏幕截图 - 搜索引擎爬虫也无法阅读。

标签: php mysql sql codeigniter stored-functions


【解决方案1】:
SELECT CONCAT( 'ALTER TABLE iscilik1kisiler ',
               'MODIFY COLUMN deger4 DECIMAL ',
               'GENERATED ALWAYS AS (',
               deger1,
               '*deger3) STORED' )
INTO @sql
FROM iscilik1 
WHERE Id=16;

PREPARE stmt FROM @sql;
EXECUTE stmt;
DROP PREPARE stmt;

【讨论】:

  • 这个答案缺少教育解释。
猜你喜欢
  • 2021-04-20
  • 1970-01-01
  • 2014-07-18
  • 2015-05-18
  • 2016-01-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-05-05
相关资源
最近更新 更多