Ankündigung

Einklappen
Keine Ankündigung bisher.

Fehler in Syntax

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Shylux
    hat ein Thema erstellt Fehler in Syntax.

    Fehler in Syntax

    Hy leute
    Ich möchte eine Tabelle in mysql erstellen.
    Doch es kommt ein Fehler:
    Code:
    ' at line 1
    Mein create query:
    Code:
    CREATE TABLE `uploader`.`User`
    (
      `User_ID` Int(20) NOT NULL AUTO_INCREMENT,
      `User_FirstName` Varchar(128) NOT NULL,
      `User_LastName` Varchar(128) NOT NULL,
      `User_NT_Account` Varchar(128),
      `User_EMail` Varchar(512),
      `User_lastLogin` Timestamp NOT NULL,
      `User_Department` Varchar(512)
    ) ENGINE = InnoDB, DEFAULT CHARACTER SET 'UTF8' COLLATE utf8_general_ci;
    Nun was habe ich falsch gemacht?

  • Gast-Avatar
    Ein Gast antwortete
    Bei ALTER TABLE 'File' soll ein FOREIGN KEY auf die Spalte MIME_ID erzeugt werden. MIME_ID ist aber kein PRIMARY KEY in der Tabelle MIME

    Code:
    CREATE TABLE `MIME`
    (
      `MIME_Type` Varchar(64) NOT NULL PRIMARY KEY,
      `MIME_Extension` Varchar(10) NOT NULL,
      `MIME_ID` Int(20) NOT NULL
    ) ENGINE = InnoDB, DEFAULT CHARACTER SET 'UTF8' COLLATE utf8_general_ci;
    
    ALTER TABLE `File` ADD CONSTRAINT `MIMEToFile` FOREIGN KEY (`MIM
    E_ID`) REFERENCES `MIME` (`MIME_ID`) ON DELETE NO ACTION ON UPDATE NO ACTION;
    Die Meldung '#sql-3ae_af' ist ein Name für den Dummy-Constraint von MySQL rate ich mal.

    Grüße
    Thomas

    Einen Kommentar schreiben:


  • Shylux
    antwortet
    Ich habs jetzt geschafft.
    Die tabellen etc werden erstellt aber es kommt dazu noch eine fehlermeldung:
    Code:
    ERROR 1005 (HY000): Can't create table 'uploader.#sql-3ae_af' (errno: 150)
    Ich habe aber nirgens in meinem scrypt eine tabelle namens "sql-3ae_af". Woher kann dieser Fehler kommen?

    Hier der gesamte Code:
    Code:
    CREATE TABLE `User`
    (
      `User_ID` Int NOT NULL AUTO_INCREMENT PRIMARY KEY,
      `User_FirstName` Varchar(128) NOT NULL,
      `User_LastName` Varchar(128) NOT NULL,
      `User_NT_Account` Varchar(128),
      `User_EMail` Varchar(512),
      `User_lastLogin` Timestamp NOT NULL,
      `User_Department` Varchar(512)
    ) ENGINE = InnoDB, DEFAULT CHARACTER SET 'UTF8' COLLATE utf8_general_ci;
    ALTER TABLE `uploader`.`User` ADD UNIQUE `User_NT_Account` (`User_NT_Account`);
    CREATE TABLE `File`
    (
      `File_ID` Int NOT NULL AUTO_INCREMENT PRIMARY KEY,
      `File_Filename` Varchar(512),
      `File_Size` Int(8),
      `MIME_ID` Int(20),
      `Code_ID` Int(20)
    ) ENGINE = InnoDB, DEFAULT CHARACTER SET 'UTF8' COLLATE utf8_general_ci;
    CREATE TABLE `Action`
    (
      `Action_ID` Int NOT NULL AUTO_INCREMENT PRIMARY KEY,
      `Action_Date` Timestamp NOT NULL,
      `User_ID` Int(20),
      `File_ID` Int(20) NOT NULL,
      `Typ_ID` Int(20) NOT NULL
    ) ENGINE = InnoDB, DEFAULT CHARACTER SET 'UTF8' COLLATE utf8_general_ci;
    CREATE TABLE `MIME`
    (
      `MIME_Type` Varchar(64) NOT NULL PRIMARY KEY,
      `MIME_Extension` Varchar(10) NOT NULL,
      `MIME_ID` Int(20) NOT NULL
    ) ENGINE = InnoDB, DEFAULT CHARACTER SET 'UTF8' COLLATE utf8_general_ci;
    CREATE TABLE `Code`
    (
      `Code_ID` Int NOT NULL AUTO_INCREMENT PRIMARY KEY,
      `Code_Code` Char(8) NOT NULL,
      `User_ID` Int(20),
      `Code_CreateDate` Timestamp
    ) ENGINE = InnoDB, DEFAULT CHARACTER SET 'UTF8' COLLATE utf8_general_ci;
    ALTER TABLE `Code` ADD UNIQUE `Code_Code` (`Code_Code`);
    CREATE TABLE `Typ`
    (
      `Typ_ID` Int NOT NULL PRIMARY KEY,
      `Typ_Name` Varchar(50) NOT NULL
    ) ENGINE = InnoDB, DEFAULT CHARACTER SET 'UTF8' COLLATE utf8_general_ci;
    ALTER TABLE `uploader`.`File` ADD CONSTRAINT `MIMEToFile` FOREIGN KEY (`MIME_ID`) REFERENCES `MIME` (`MIME_ID`) ON DELETE NO ACTION ON UPDATE NO ACTION;
    ALTER TABLE `uploader`.`File` ADD CONSTRAINT `CodeToFile` FOREIGN KEY (`Code_ID`) REFERENCES `Code` (`Code_ID`) ON DELETE NO ACTION ON UPDATE NO ACTION;
    ALTER TABLE `Code` ADD CONSTRAINT `UserToCode` FOREIGN KEY (`User_ID`) REFERENCES `uploader`.`User` (`User_ID`) ON DELETE NO ACTION ON UPDATE NO ACTION;
    ALTER TABLE `Action` ADD CONSTRAINT `UserToAction` FOREIGN KEY (`User_ID`) REFERENCES `uploader`.`User` (`User_ID`) ON DELETE CASCADE ON UPDATE CASCADE;
    ALTER TABLE `Action` ADD CONSTRAINT `FileToAction` FOREIGN KEY (`File_ID`) REFERENCES `uploader`.`File` (`File_ID`) ON DELETE NO ACTION ON UPDATE NO ACTION;
    ALTER TABLE `Action` ADD CONSTRAINT `TypToAction` FOREIGN KEY (`Typ_ID`) REFERENCES `Typ` (`Typ_ID`) ON DELETE NO ACTION ON UPDATE NO ACTION;

    Einen Kommentar schreiben:


  • Gast-Avatar
    Ein Gast antwortete
    Wie sieht der komplette CREATE TABLE jetzt aus?

    a) wäre falsch
    Code:
    `User_ID` Int() NOT NULL AUTO_INCREMENT,

    b) wäre korrekt
    Code:
    `User_ID` INT NOT NULL AUTO_INCREMENT,
    c) ausserdem fehlt noch der PRIMARY KEY

    Code:
    CREATE TABLE `uploader`.`User`
    (
      `User_ID` INT NOT NULL AUTO_INCREMENT,
      `User_FirstName` Varchar(128) NOT NULL,
      `User_LastName` Varchar(128) NOT NULL,
      `User_NT_Account` Varchar(128),
      `User_EMail` Varchar(512),
      `User_lastLogin` Timestamp NOT NULL,
      `User_Department` Varchar(512),
      PRIMARY KEY (`User_ID`)
    ) ENGINE = InnoDB, DEFAULT CHARACTER SET 'UTF8' COLLATE utf8_general_ci;

    Grüße
    Thomas

    Einen Kommentar schreiben:


  • Shylux
    antwortet
    Wenn ich die 20 rausnehme kommt dann dieser Fehler:
    Code:
    ERROR 1075 (42000): Incorrect table definition; there can be only one auto column and it must be defined as a key

    Einen Kommentar schreiben:


  • Gast-Avatar
    Ein Gast antwortete
    Zitat von Shylux Beitrag anzeigen
    Code:
    ...
    `User_ID` Int(20) NOT NULL AUTO_INCREMENT,
    ...
    Nun was habe ich falsch gemacht?
    Ich würde sagen den Datentyp INT(20) gibt es nicht. Einfach nur INT verwenden oder entsprechend korrigieren.

    Grüße
    Thomas

    Einen Kommentar schreiben:

Lädt...
X