【问题标题】:setting up arguments and source option设置参数和源选项
【发布时间】:2015-10-01 23:17:55
【问题描述】:

我正在尝试运行以下命令:

mysql -u user -pPassword databasename -h server -e "set @yyyymmdd="2015-09-30"; source test.sql";    

它给了我以下错误: 您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在第 1 行的“source test.sql”附近​​使用正确的语法

但如果我运行以下命令,一切正常:

mysql -u user -pPassword databasename -h server -e "source test.sql";    

我在“mysql Ver 14.12 Distrib 5.0.95, for redhat-linux-gnu (x86_64) using readline 5.1 "

【问题讨论】:

    标签: mysql


    【解决方案1】:

    如果你有sed,你可以这样做:

    sed -i '1i SET @yyyymmdd="2015-09-30";' test.sql
    

    然后

    mysql -u user -pPassword databasename -h server -e "source test.sql";
    

    【讨论】:

    • 是的@Karthik,我更新了我的帖子,似乎 mysql -e "source xxx" 只处理批处理文件
    • 这行得通,但我仍然想知道为什么我不能像他们在这里所做的那样使用“-e”选项设置参数:databobjr.blogspot.com/2011/07/…
    • 其实我错过了';'在源 test.sql 之后。在我输入';'之后我上面的命令有效。 mysql -u user -pPassword databasename -h server -e "set @yyyymmdd='2015-09-30'; source test.sql;";
    【解决方案2】:

    不要错过'-e'选项的半列

    mysql -u user -pPassword databasename -h server -e "set @yyyymmdd='2015-09-30'; source test.sql;";

    【讨论】:

      猜你喜欢
      • 2013-10-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-01-23
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多