【问题标题】:Load Data Local Infile with Date使用日期加载数据本地 Infile
【发布时间】:2016-07-14 20:30:37
【问题描述】:

我正在尝试通过 Load Data Local Inline 语句插入当前日期和时间。想通过命令插入当前日期和时间。收到以下错误:您的 SQL 语法有错误;查看与您的 MySQL 服务器版本相对应的手册,以在第 3 行的“@Date_Update=date('Y-m-d')”附近使用正确的语法。

这是我的声明。

 $sqlstatement="LOAD DATA LOCAL INFILE '$temp' INTO TABLE contacts 
FIELDS TERMINATED BY ',' 
LINES TERMINATED BY '\r' 
IGNORE 1 LINES
    (User_Category, Name, Logon_id, @Date_Update)
    SET ID=@ID, @Date_Update=date('Y-m-d');
    ";

是否可以通过 Load Data Local Infile 设置当前日期?

【问题讨论】:

  • 我仍然收到以下错误:您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在第 3 行的“@Date_Update=NOW()”附近使用正确的语法

标签: php mysql


【解决方案1】:

我认为问题是字段分配错误:

$sqlstatement="LOAD DATA LOCAL INFILE '$temp' INTO TABLE contacts 
FIELDS TERMINATED BY ',' 
LINES TERMINATED BY '\r' 
IGNORE 1 LINES
    (User_Category, Name, @Logon_id, @Date_Update)     ◄■■■■■■■■■■■■■■■■
    SET ID=@Logon_id, Date_Update=NOW();               ◄■■■■■■■■■■■■■■■■
    ";

【讨论】:

  • @user3258571,请测试一下,它会编译给我,然后运行它来查看结果。
【解决方案2】:

您没有在SET 子句中分配给@variable。这应该包含您要分配到的表列,使用 @variable 从 CSV 文件中获取列。

但如果您想插入当前日期,则不需要访问 CSV 列。

$sqlstatement="LOAD DATA LOCAL INFILE '$temp' INTO TABLE contacts 
FIELDS TERMINATED BY ',' 
LINES TERMINATED BY '\r' 
IGNORE 1 LINES
    (User_Category, Name, Logon_id, @Date_Update)
    SET ID=@ID, Date_Update=TODAY();
    ";

顺便说一句,date('Y-m-d') 是 PHP 函数,而不是 MySQL。 MySQL 格式化日期和时间的函数是DATE_FORMAT()

【讨论】:

  • Barmar 您的解决方案可能存在错误吗?日期更新=今天(); ,如何在字段设置中找到要导入的字段。它应该是(User_Category、Name、Logon_id、@Date_Update)并且还设置为@Date_Update。无论哪种方式似乎都行不通。
  • 您的 SQL 语法有误;检查与您的 MySQL 服务器版本相对应的手册,以在第 3 行的“@Date_Update=NOW()”附近使用正确的语法
  • 何塞,我正在使用:(User_Category, Name, @ID, @Date_Update) SET ID=@ID, @Date_Update=Today()
  • Barmar,我仍然收到以下错误:您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在第 3 行的“@Date_Update=Today()”附近使用正确的语法
  • @user3258571 关键是日期并非来自您正在导入的文件。您只想无条件地将列设置为当前日期。您只能分配给表列,而不是变量。 @variable 用作文件中字段的占位符。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-05-25
  • 1970-01-01
  • 2023-03-09
  • 1970-01-01
  • 2016-07-29
  • 2012-10-26
  • 2015-12-20
相关资源
最近更新 更多