mysql里面mysql -h命令作用是啥?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql里面mysql -h命令作用是啥?相关的知识,希望对你有一定的参考价值。

mysql中-h是指定连接的MySQL服务器地址(可以是IP或者域名)常常和-p联用,表示连接到某台机器的某个端口 参考技术A -h是指定连接的MySQL服务器地址(可以是IP或者域名),h指host。

里面有查询的 MySQL 函数

【中文标题】里面有查询的 MySQL 函数【英文标题】:MySQL function with query inside it 【发布时间】:2017-07-13 20:55:17 【问题描述】:

我使用这个 mysql 函数通过传递三个参数来检索列数据的总和。无论 where 子句如何,函数都会返回整列的总和。 我的意思是函数内部的查询没有 where 子句,并且在没有函数的情况下使用该查询可以正常工作。 这是函数

DELIMITER $$
CREATE FUNCTION calculate_customer_loan(customer_id INT, currency VARCHAR(10), type VARCHAR(10)) RETURNS DOUBLE
BEGIN
    DECLARE total DOUBLE;
    SELECT SUM(`amount`) INTO total FROM `deals` WHERE `customer_id` = customer_id AND `currency` = currency AND `type` = type;
    RETURN total;
END
$$
DELIMITER ;

任何想法! 帮帮我。

【问题讨论】:

重命名你的函数参数。 【参考方案1】:

您的参数名称与列名称匹配存在问题。列名获胜。

所以,为参数命名以避免歧义:

DELIMITER $$
CREATE FUNCTION calculate_customer_loan (
    in_customer_id INT,
    in_currency VARCHAR(10),
    in_type VARCHAR(10)
) RETURNS DOUBLE
BEGIN
    DECLARE v_total DOUBLE;

    SELECT SUM(d.amount) INTO v_total
    FROM deals d
    WHERE d.customer_id = in_customer_id AND
          d.currency = in_currency AND
          d.type = in_type;
    RETURN v_total;
END
$$
DELIMITER ; 

我删除了反引号。它们不是必需的,而且——更重要的是——它们不区分列名和变量名。

【讨论】:

“列名获胜” - 我不会这么说:***.com/questions/715229/… @PaulSpiegel 。 . .这个答案似乎是不正确的。 那个答案似乎是正确的。这是一个简单的测试:rextester.com/JEWVL30269 但是我仍然会使用不同的名称。 @GordonLinoff 这个答案没有错字。你从来没有真正设置过 v_total。 @Mike 。 . .谢谢。

以上是关于mysql里面mysql -h命令作用是啥?的主要内容,如果未能解决你的问题,请参考以下文章

原本就有mysql,安装phpstudy使用里面自带的mysql导致原来的没服务

mysql 里面有go的用法吗

如何在windows里面安装MySQL

在虚拟机里面安装mysql

有人在mysql里面碰到过这个错误吗

mysql里面的东西都是做啥用的