我有一个MySQL表和一个Excel文件。我想更新MySQL表以包含来自Excel文件的信息,这很简单 - 只需为创建相应SQL语句的每一行编写一个快速公式。
但首先我要检查所有数据是否匹配正确。因此,如果给定的行具有WidgetID 1001,我想检查该WidgetID是否在MySQL表中。对于给定的行,这很简单 - 只需生成一个SQL语句
SELECT COUNT(*) FROM mytable WHERE WidgetID = "1001"
并执行它。但是,如何在不同时粘贴命令的情况下检查所有行?基本上,我想要像
这样的东西If (SELECT COUNT(*) FROM mytable WHERE WidgetID = "1001") = 0 Display "1001\n"
但我不知道该怎么做。 (我不太使用SQL!)
澄清:我不此时想要导入数据!这将是一项复杂的任务,因为数据需要转换并以各种方式输入到十几个不同的表中。现在我只想检查非重复项(这几乎完全是错误,我想,虽然有些可能是实际的新条目)。
答案 0 :(得分:1)
WidgetID
列LOAD DATA INFILE
与REPLACE或IGNORE选项一起使用(取决于您是否要使用新值替换重复项,或保留以前的值)答案 1 :(得分:0)
您可以同时查询MySQL和Excel,这是一个INSERT,但任何查询都可以工作:
Excel VBA: writing to mysql database
以下是SQL Server的另一个示例:
INSERT data from Excel into SQL DB
你可以同时获得OLE DB&来自:http://www.carlprothman.net/Default.aspx?tabid=81
的ODBC连接字符串