MySQL-server-version für den richtigen syntax zur Verwendung in der Nähe
Ich erhalte die folgende Fehlermeldung:
"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"
Mein 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);
}
}
Wie kann ich dieses Problem beheben?
Zu lindern zu helfen, können Sie das einfügen der SQL, bevor die
->query
nennen?InformationsquelleAutor user2496631 | 2013-11-25
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich denke, es ist ein extra Raum in der Abfrage verwenden, entfernen
,
nachNULL,
wie diese:InformationsquelleAutor Aziz Shaikh
Benötigen Sie ein
ADD COLUMN
pro Spalte.InformationsquelleAutor mb14
Ich hatte das gleiche Problem in meinem Programm, habe ich nur die Abfrage ändern, die version
ZU
InformationsquelleAutor Pir Fahim Shah