Create table Mysql dans un bash via EOF
RésoluFred -
Bonjour,
J'ai cette erreur : ERROR 1064 (42000) at line 7: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'varchar(100) COLLATE utf8mb4_bin NOT NULL DEFAULT "",
value longtext COLLAT...' at line 2
Lorsque je lance ce script bash .
#Création de la base de données Etherpad echo "Choisir un mot de passe pour la base de donnée Etherpad" read -s password mysql --user=root <<-EOF CREATE DATABASE etherpad; CREATE USER 'etherpad'@'localhost' IDENTIFIED BY '$password'; GRANT ALL PRIVILEGES ON etherpad.* TO "etherpad"@"localhost"; FLUSH PRIVILEGES; USE etherpad; CREATE TABLE store ( key varchar(100) COLLATE utf8mb4_bin NOT NULL DEFAULT "", value longtext COLLATE utf8mb4_bin NOT NULL, PRIMARY KEY (key) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin; EOF
Le code qui va bien sous phpmyadmin est celui-ci. J'ai viré les ` dans le script car j'avais des erreurs mais à priori c'est le double ' après DEFAULT qui pose problème...J'ai essayé de le remplacer par un double " mais ce n'est pas mieux ;(
CREATE TABLE `store` (
`key` varchar(100) COLLATE utf8mb4_bin NOT NULL DEFAULT '',
`value` longtext COLLATE utf8mb4_bin NOT NULL,
PRIMARY KEY (`key`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin;
Une piste ?
Merci
Windows / Firefox 120.0
- Mysql eof
- Mysql community server - Télécharger - Bases de données
- Unexpected eof ✓ - Forum Programmation
- Could not connect to mysql! please check your database settings! - Forum Redhat
- Fscanf eof ✓ - Forum C
- Mysql error 1 ✓ - Forum Réseaux sociaux
2 réponses
En mettant autre chose que Key le problème reste entier ;(
C'est un pb de quotes ou doubles quotes à priori...
Tu as changé le "mot" partout ? y compris dans la définition de la primary ?
Le message d'erreur reste le même ?
Peux tu nous poster la requêtes que tu viens de tester et qui te retourne encore une erreur ?
A noter que le mot "value" lui aussi est réservé..
Voici le liste complète : https://dev.mysql.com/doc/refman/8.0/en/keywords.html#keywords-8-0-detailed-V