Les versions du serveur MySQL pour la bonne syntaxe à utiliser près de
J'obtiens l'erreur suivante:
"Error: 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 ' `DeweyEdition`
BLOB NOT NULL, , `DeweyNumber` BLOB NOT NULL)' at line 1
<br />Error No: 1064<br />ALTER TABLE tt_hj_import ADD COLUMN
(`CountryOfPub` BLOB NOT NULL, , `DeweyEdition` BLOB NOT NULL, ,
`DeweyNumber` BLOB NOT NULL) in /var/www/system/database/mysql.php on line 50"
Mon code:
public function alterImportTable($new_fields) {
if (!empty($new_fields)) {
$sql = "ALTER TABLE " . DB_PREFIX . "hj_import ADD COLUMN ";
$fields_sql = array();
foreach ($new_fields as $field) {
$fields_sql[] = '`' . $field . "` BLOB NOT NULL, ";
}
$sql .= '(' . implode(', ', $fields_sql) . ')';
$sql = str_replace(', )', ')', $sql);
$this->db->query($sql);
}
}
Comment puis-je résoudre ce problème?
- Pour faciliter les aider, vous pouvez vous collez le SQL avant la
->query
appel?
Vous devez vous connecter pour publier un commentaire.
Je pense qu'il y a un espace supplémentaire dans la requête, essayez de supprimer
,
aprèsNULL,
comme ceci:Vous avez besoin d'un
ADD COLUMN
par colonne.J'ai eu le même problème dans mon programme, je viens de changer la version requête
À