2017-04-06 38 views
0
  • 我在.csv文件中有五列,我必须将它导入MySQL table
  • 但我也需要在数据库中导入文件的日期。

所以,我的意思是在表今天日起六个月列。在mysql数据导入过程中插入自动列

  • 我已经在使用time stamp尝试作为datatypedefaultCURRENT_TIMESTAMP

但它发生的查询: - Invalid column count in CSV input on line 1.

请指引我。

屏幕截图: - enter image description here

CSV文件: - enter image description here

+0

即使它是一个时间戳,您需要在您插入添加一个空值。表格的列和插入查询中的列数应匹配。 – Krishnakumar

+0

实际上,我不使用mysql查询,但我只是在Wampserver中使用'import'菜单导入数据。 –

+0

也许你应该向我们展示表格的模式。用于导入的代码 – RiggsFolly

回答

3

这意味着您的CSV列的数量和表不一样的。如果你想设置任何列的默认值,你必须保持这个值为空,但你必须提到这一列。例如:如果要插入其命名为1列的默认值3列“创造” CSV文件应该是这样的:

enter image description here

请删除其描述你的表结构第一行。我的意思是不使用以下代替上面: enter image description here

最后运行以下SQL如果当前的时间戳未设置:

UPDATE `table` SET edate = current_timestamp; 

这里把你的表名是“表”这句话。

+0

它显示错误'#1292 - 不正确的日期时间值:''在列'edate'在第1行' –

+0

请分享您的示例csv数据。 –

+0

请查看更新后的问题 –

0

您可以使用默认的限制设置时间戳:

ALTER TABLE 
MODIFY edate datetime DEFAULT CURRENT_TIMESTAMP 

ALTER TABLE 
MODIFY edate datetime DEFAULT ON UPDATE CURRENT_TIMESTAMP 
+0

我认为这会帮助你 – lalithkumar