我有一张已填充数据的表格:
Table routeur_su
+--------------------+--------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+--------------------+--------------+------+-----+---------+-------+
| hostname | varchar(64) | NO | PRI | NULL | |
| code_site | varchar(64) | NO | MUL | NULL | |
| ip | varchar(64) | NO | | NULL | |
| ios | varchar(64) | YES | | NULL | |
| modele | varchar(64) | YES | | NULL | |
| uptime | datetime | YES | | NULL | |
| date_polling | datetime | YES | | NULL | |
+--------------------------------------------------+-----------+-----------------+------+--------+--------+
| hostname | code_site | ip | ios | modele | uptime |
+--------------------------------------------------+-----------+-----------------+------+--------+--------+
| <hostname> | 131123S0 | 126.x.x.x | NULL | NULL | NULL |
+--------------------------------------------------+-----------+-----------------+------+--------+--------+
我有一个.csv文件,其中包含:
<hostname>;1/2/24 17:14:00;Cisco 1803
(其他2个信息是正常运行时间和模型)
我希望MySQL能够更新具有正常运行时间和模型的行。 为此,我在BASH脚本中使用了它:
version_router_su_file="$DIR/working-dir/shver.csv"
db_routeur_table="routeur_su"
...
$mysql -h $db_address -u $db_user -p$db_passwd $db_name -e "load data local infile '$version_router_su_file' INTO TABLE $db_routeur_table fields terminated by ';'(hostname, uptime, modele) ;"
但没有任何反应。我阅读了有关加载数据的文档,并尝试了几个但是......仍然无法正常工作。 我对此代码没有任何错误,它只是不会更新。
创建像贴在中的重复表 MySQL LOAD DATA INFILE with ON DUPLICATE KEY UPDATE 在为数据库中的每个表执行此操作时,将消耗大量资源。不是其他任何方式吗?