Einzelnen Beitrag anzeigen

Delbor

Registriert seit: 8. Okt 2006
Ort: St.Gallen/Schweiz
1.186 Beiträge
 
Delphi 11 Alexandria
 
#11

AW: Doppelte durch einfache Hochkommas ersetzen

  Alt 20. Sep 2019, 18:13
Hi Uwe Raabe

Das Script 'funktioniert' in Workbench überhaupt nicht. Workbench kann erst genutzt werden, wenn eine aktive Verbindung zum MySQL-Server besteht(*). Für den MySQL-Server generiert MySQL-Workbench (**) zum Beispiel folgendes Script:
Delphi-Quellcode:
-- -----------------------------------------------------
-- Table `ContentMasterData`.`kategorien_tabelle`
-- -----------------------------------------------------
DROP TABLE IF EXISTS `ContentMasterData`.`kategorien_tabelle` ;

CREATE TABLE IF NOT EXISTS `ContentMasterData`.`kategorien_tabelle` (
  `Kath_ID` INT UNSIGNED NOT NULL AUTO_INCREMENT,
  `Kategorie` VARCHAR(120) CHARACTER SET 'latin1NOT NULL,
  PRIMARY KEY (`Kath_ID`))
ENGINE = InnoDB
AUTO_INCREMENT = 3
DEFAULT CHARACTER SET = latin1;


-- -----------------------------------------------------
-- Table `ContentMasterData`.`bildtabelle`
-- -----------------------------------------------------
DROP TABLE IF EXISTS `ContentMasterData`.`bildtabelle` ;

CREATE TABLE IF NOT EXISTS `ContentMasterData`.`bildtabelle` (
  `idBild` INT UNSIGNED NOT NULL AUTO_INCREMENT,
  `Thumbnail` BLOB NULL,
  `Bitmap` BLOB NULL,
  `Jpeg` BLOB NULL,
  `FolderId` VARCHAR(32) NULL,
  PRIMARY KEY (`idBild`))
ENGINE = InnoDB
DEFAULT CHARACTER SET = latin1;
Was auffällt: Hier sind die Feldnamen in accents eingeschlossen - den selben accents, die von MySQL-Autoren benutzt werden, um an der Comandozeile MySQL-Tabellen zu erstellen.
Im SQLite-Manual hingegen wird darauf hingewiesen, dass in SQLite einfache Hochkommas verwendet werden wie in Pascal. Allerdings muss ich zugeben, dass mir nicht bekannt ist, in welcher Form SQLite Tabellennamen erwartet. Zur Zeit kann ich das nicht nachschlagen - die Waschküche wartet. ***

Gruss
Delbor

* Zumindest nur dann kann mit Forward- oder Reverse Engineering gearbeitet werden.
** Sorry, ich hab den Namen "MySQL Workbench daurch abgekürzt,dass ich den ersten Teil weggelassen habe. Das hätte ich gleich im ersten Thread schreiben sollen.

*** PS: Heute Samstag habe ich das Manual durchsucht, aber nirgends etwas explzit zu Tabellennamen gefunden. Beispielcode hingegen steht genug da - und da nirgends Hochkommas, ausser wenn ein Wert in eine Spalte als String geschrieben werden soll:
Delphi-Quellcode:
 CREATE TABLE t1 (a INT, b VARCHAR (10));
 INSERT IN t1 (a, b) VALUES ('123', 456);
Roger
Man muss und kann nicht alles wissen - man muss nur wissen, wo es steht.
Frei nach Albert Einstein
http://roase.ch

Geändert von Delbor (21. Sep 2019 um 15:20 Uhr) Grund: PS hinzugefügt
  Mit Zitat antworten Zitat