MySQL:缺少mysqlimport

时间:2015-05-20 23:37:24

标签: mysql records mysqlimport

我将数据导入到具有大量记录的InnoDB表中。命令mysqlimport表示已成功导入,如下所示。我正在空表上导入数据。

C:\xampp\mysql\bin>mysqlimport.exe --fields-terminated-by=',' 
--columns="invoice_id,customername,department,city" --local -u root -p invoice11954 "c:\11954\invoice.txt"

Enter password:
invoice11954.invoice: Records: 1540252  Deleted: 0  Skipped: 0  Warnings: 0

但是当我检查表发票中的记录数时,我只看到1534408条记录。我已经截断了桌子并一次又一次地重新导入。记录计数总是不匹配,记录的差异并不总是不变。

这与我的配置有关吗?我给出了很高的配置值,但仍然没有运气。

# The MySQL server
[mysqld]
port= 3306
socket = "C:/xampp/mysql/mysql.sock"
basedir = "C:/xampp/mysql" 
tmpdir = "C:/xampp/tmp" 
datadir = "C:/xampp/mysql/data"
pid_file = "mysql.pid"
# enable-named-pipe
key_buffer = 32M
max_allowed_packet = 32M
sort_buffer_size = 1024K
net_buffer_length = 16K
read_buffer_size = 512K
read_rnd_buffer_size = 1024K
myisam_sort_buffer_size = 16M
log_error = "mysql_error.log"

[mysqldump]
quick
max_allowed_packet = 128M

我的配置没有此部分[mysqlimport]

有人可以帮我解决这里出了什么问题。

1 个答案:

答案 0 :(得分:1)

您如何检查invoices表中的“记录数”?显然,我们假设您正在执行这样的SQL语句:

SELECT COUNT(*) FROM invoice ;

并且您不依赖于information_schema.tables中的估计行数来为您提供准确的计数。

在问题中没有足够的信息,以其当前的形式给出您正在观察的行为的答案。正如我在评论中所指出的,目前尚不清楚该表是否有任何独特的约束,无论您是否指定了--replace--ignore选项,因为我们没有看到您正在运行的命令, [mysqlimport]文件的my.cnf部分,或者如何在加载后检查表格上的行数。