Comment exécuter un fichier SQL à l'aide de ligne de commande MySQL?
Je suis à l'aide de symfony, le mastic et les autres commandes SQL air de fonctionner correctement mais lorsque j'essaie d'exécuter un .sql
fichier (qui sont nombreuses), de la ligne de commande renvoie une erreur:
You have an error in your SQL syntax; check the manual ...
C'est la commande que j'essaie de l'exécuter:
mysql < data/MySQLFile.sql;
J'ai déjà utilisé le use
de commande sur la base de données appropriée et essayé d'utiliser le chemin complet du chemin d'accès relatif, etc. Pas sûr que le problème est.
Voici l'énoncé:
ALTER TABLE tablename
ADD COLUMN `blahblah` varchar(10) NULL;
ALTER TABLE tablename
ADD COLUMN `ggggggg` varchar(50) NULL;
- Qu'en nous montrant l'instruction SQL qui génère l'erreur? Nous ne pouvons pas voir le fichier SQL à partir d'ici.
- Ouais j'ai posté l'instruction sql qui génère l'erreur c'est
mysql < data/MySQLFile.sql;
- Pas de. Ce n'est pas la déclaration. L'instruction qui génère l'erreur est quelque part dans le script SQL.
- Oh ok je vais modifier le post original de l'inclure.
- Le message d'erreur devrait vous dire exactement quelle ligne du fichier a échoué, et de la partie de la ligne eu le problème. Par exemple:
ERROR 1064 (42000) at line 17 in file: 'MySQLFile.sql': You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '--I tried to do a comment but forgot the space after the dashes' at line 1
- Ces deux lignes semblent correct pour moi. Cela fonctionne lorsque vous les exécutez autonome? Avez-vous peut-être oublier un
;
dans l'énoncé droit devant eux? - Pouvez-vous ajouter de la structure de
tablename
? - Puis-je downvote la upvoter?
Vous devez vous connecter pour publier un commentaire.
si vous voulez exécuter en ligne de commande
mysql -u user -p < file.sql
et si vous voulez exécuter une fois connecté à la base de données mysql. utiliser les commandes ci-dessous.
ou
\. file.sql
ou
Ok si vous êtes dans l'interface mysql déjà tapez:
Ce que je voulais dire avec le chemin complet, c'est que vous avez besoin de spécifier selon le système d'exploitation actuel système de fichiers à l'emplacement du fichier. Juste en mettant des données/n'est pas assez. Par exemple, si vous utilisez MAC OS, il serait:
À partir du terminal, et en supposant que est dans les Documents:
Si vous êtes déjà connecté à mysql puis tapez:
Si mes conseils ne vous aident pas, je vous recommande d'aller sur cette page:
http://dev.mysql.com/doc/refman/5.0/en/mysql-batch-commands.html
Pour en savoir plus à ce sujet.
Je pense que vous avez juste besoin de type "source" avant le chemin d'accès au fichier sql. Donc, vous auriez