【问题标题】:Correct code improvement正确的代码改进
【发布时间】:2012-08-02 12:11:57
【问题描述】:

有人可以看看我的代码吗,因为我不知道它在 MySQL 中是否正常

set @max=concat('select max(length(CommentsId))from', table_name);
    prepare stmt from @max;
    execute stmt;

    set @max=concat('UPDATE', table_name, 'SET CommentsId= ',CommentsId * power(10, (@max - length(CommentsId))),' WHERE CommentsId= ', @CommentsId );
    prepare stmt from @max;
    execute stmt;

【问题讨论】:

  • 你想让它做什么?当你运行它时它会做什么?这些东西有什么不同?
  • 这里只是一个建议,但了解是否正常的最佳方法是尝试一下。

标签: mysql procedure


【解决方案1】:

fromUPDATESET 关键字之前或之后需要空格。

set @max=concat('select max(length(CommentsId)) from ', table_name);
prepare stmt from @max;
execute stmt;

set @max=concat('UPDATE ', table_name, ' SET CommentsId= ',CommentsId * power(10, (@max -   length(CommentsId))),' WHERE CommentsId= ', @CommentsId );
prepare stmt from @max;
execute stmt;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-02-01
    • 2019-12-17
    • 2017-11-09
    • 2020-02-23
    相关资源
    最近更新 更多