我有像这样“分离”的 SQL 文件:
> tree sql
sql
├── adresse_trigger_update_before.sql
├── attribut_trigger_update_before.sql
├── categorie_trigger_update_before.sql
├── duplicate_records.sql
├── horaire_trigger_update_before.sql
├── partenaire_trigger_update_before.sql
├── personne_trigger_update_before.sql
└── produit_trigger_update_before.sql
0 directories, 8 files
>
这是我所有的尝试:
>mysql mydatabase -e "source sql/file1.sql"
>
>mysql mydatabase -e "source sql/*"
>ERROR at line 1: Failed to open file 'sql/*', error: 2
>cat sql/* > mysql mydatabase
>cat : option invalid -- 'p'
>mysql mydatabase -e "source sql/*"
>bash: sql/* : ambiguous redirect
如何在 MySQL 中一次加载多个文件?
注意:只有一sql
我面临的问题:加载“ ”文件夹中的所有文件立刻。没有其他问题(我已删除用户和密码,以便更准确地了解实际问题)。
知道如何做到这一点吗?
答案1
这是我的解决方案:
find sql/ -type f | awk '{system("mysql -u root -pXXX -h localhost mydatabase < "$0)}'
答案2
您应该使用"source code"/*
。
对于密码问题,请尝试引用它,例如mysql -u XX -p "XX"