我正在尝试将Excel工作表导出到MySQL表。我要求创建一个新表并从excel插入数据。
使用Excel 2013,全新的MySQL for Excel加载项和全新的MySQL(在Windows 7的桌面上运行)。
首先我会收到错误消息
错误代码:1064。您的SQL语法有错误;检查 手册,对应右边的MySQL服务器版本 语法在附近使用 ':00:00,10:00:00,9 / 1 / 2010,12 / 20/2010年,' HEIEUS”, 'K2I4', 'M',0,0,3, 'X', 'PP', '2010-11-' 在第4行
将SQL语句粘贴到MySQL Workbench查询后,我被告知在日期前面有一个丢失的括号。
我发现如果我在日期周围添加引号(以DateTime格式),那么该行将被读入并且错误会将一行向下移动到下一行插入。我见过的示例确实显示日期文本应该在引号内(https://www.ntchosting.com/encyclopedia/databases/mysql/insert-date/)。
复制sql语句,粘贴到MySQL Workbench,然后为数千行的所有日期添加引号是不切实际的。有没有人知道如何让Excel正确格式化日期。或者有人甚至以前见过这个?
答案 0 :(得分:0)
这有点像黑客,因为它适用于Excel的MySQL插件,应该可以工作。您可以尝试将数据从Excel导出为CSV。确保导出时引用每列。
然后使用LOAD DATA
将数据导入MySQL:
LOAD DATA INFILE 'data.csv' INTO TABLE tbl_name
FIELDS TERMINATED BY ',' ENCLOSED BY '"'
LINES TERMINATED BY '\r\n'
IGNORE 1 LINES;