Ich verstehe, dass diese Frage mehrmals gestellt wurde, aber ich bin ein großer Anfänger, ich übertrage die Datenbank von SQL Workbench nach phpmyadmin. Ich erhalte diese Fehlermeldung:Debuggen des MySQL-Fehlers "# 1064 - Sie haben einen Fehler in Ihrer SQL-Syntax"
SQL-Abfrage:
CREATE TABLE IF NOT EXISTS `ApplicationSystem`.`staff` (
`StaffID` TEXT(6) NOT NULL,
`Name` VARCHAR(45) NULL,
`Email` VARCHAR(254) NULL,
`Password` VARCHAR(45) NULL,
PRIMARY KEY (`StaffID`),
CONSTRAINT `StaffID`
FOREIGN KEY()
REFERENCES `ApplicationSystem`.`UserType`()
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB
MySQL said: Documentation
#1064 - 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 ')
REFERENCES `ApplicationSystem`.`UserType`()
ON DELETE NO ACTION
' at line 8
hier ist die eigentliche SQL-Code:
-- MySQL Script generated by MySQL Workbench
-- 04/04/16 23:56:12
-- Model: New Model Version: 1.0
-- MySQL Workbench Forward Engineering
SET @[email protected]@UNIQUE_CHECKS, UNIQUE_CHECKS=0;
SET @[email protected]@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0;
SET @[email protected]@SQL_MODE, SQL_MODE='TRADITIONAL,ALLOW_INVALID_DATES';
-- -----------------------------------------------------
-- Schema ApplicationSystem
-- -----------------------------------------------------
-- -----------------------------------------------------
-- Schema ApplicationSystem
-- -----------------------------------------------------
CREATE SCHEMA IF NOT EXISTS `ApplicationSystem` DEFAULT CHARACTER SET utf8 ;
USE `ApplicationSystem` ;
-- -----------------------------------------------------
-- Table `ApplicationSystem`.`staff`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `ApplicationSystem`.`staff` (
`StaffID` TEXT(6) NOT NULL,
`Name` VARCHAR(45) NULL,
`Email` VARCHAR(254) NULL,
`Password` VARCHAR(45) NULL,
PRIMARY KEY (`StaffID`),
CONSTRAINT `StaffID`
FOREIGN KEY()
REFERENCES `ApplicationSystem`.`UserType`()
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB;
-- -----------------------------------------------------
-- Table `ApplicationSystem`.`UserType`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `ApplicationSystem`.`UserType` (
`Type` ENUM('A', 'HA', 'AT') NULL,
`ID` TEXT(6) NOT NULL,
INDEX `ID_idx` (`ID` ASC),
PRIMARY KEY (`ID`),
UNIQUE INDEX `ID_UNIQUE` (`ID` ASC),
CONSTRAINT `ID`
FOREIGN KEY (`ID`)
REFERENCES `ApplicationSystem`.`Applicants` (`ApplicantID`)
ON DELETE NO ACTION
ON UPDATE NO ACTION,
CONSTRAINT `ID`
FOREIGN KEY (`ID`)
REFERENCES `ApplicationSystem`.`staff` (`StaffID`)
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB;
-- -----------------------------------------------------
-- Table `ApplicationSystem`.`Applicants`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `ApplicationSystem`.`Applicants` (
`ApplicantID` TEXT(6) NULL,
`Firstname` VARCHAR(40) NULL,
`surname` VARCHAR(40) NULL,
`DOB` DATE NULL,
`Gender` ENUM('yes', 'no') NULL,
`Address` VARCHAR(45) NULL,
`Postcode` VARCHAR(9) NULL,
`ApplicantMobile` TEXT(11) NULL,
`ApplicantHome` TEXT(11) NULL,
`ApplicantEmail` VARCHAR(255) NULL,
`ParentName` VARCHAR(40) NULL,
`Relationtoapplicant` VARCHAR(15) NULL,
`ParentEmail` VARCHAR(255) NULL,
`ParentAddress` VARCHAR(40) NULL,
`ParentPostcode` VARCHAR(9) NULL,
`ParentHome` TEXT(11) NULL,
`ParentMobile` TEXT(11) NULL,
`Currentschool` VARCHAR(40) NULL,
`ApplicantInYr11` ENUM('yes', 'no') NULL,
`Sibbling` ENUM('yes', 'no') NULL,
`SibblingName` VARCHAR(40) NULL,
`SibblingYear` TEXT(2) NULL,
`MedicalConditions` VARCHAR(30) NULL,
`AccessArrangementsAvailable` ENUM('yes', 'no') NULL,
`AccessArrangments` VARCHAR(20) NULL,
`Ethnic` VARCHAR(40) NULL,
`FirstLanguage` VARCHAR(15) NULL,
`HomeLanguage` VARCHAR(15) NULL,
`Religion` VARCHAR(15) NULL,
`Nationality` VARCHAR(20) NULL,
`ArmedForces` ENUM('yes', 'no') NULL,
`PreviouslyLookedAfter` ENUM('yes', 'no') NULL,
`EUResident` ENUM('yes', 'no') NULL,
`RestrictionResidence` ENUM('yes', 'no') NULL,
`school1` VARCHAR(45) NULL,
`school2` VARCHAR(45) NULL,
`school3` VARCHAR(45) NULL,
`school4` VARCHAR(45) NULL,
`UPN` TEXT(13) NULL,
`UCL` TEXT(13) NULL,
`ULN` TEXT(10) NULL,
`Password` VARCHAR(40) NULL,
`Course1` VARCHAR(30) NULL,
`Course2` VARCHAR(30) NULL,
`Course3` VARCHAR(30) NULL,
`Course4` VARCHAR(30) NULL,
`Course5` VARCHAR(30) NULL,
`Complete` TINYINT(1) NULL,
`Outcome` ENUM('R', 'A') NULL,
PRIMARY KEY (`ApplicantID`),
UNIQUE INDEX `idtable1_UNIQUE` (`ApplicantID` ASC),
UNIQUE INDEX `ApplicantEmail_UNIQUE` (`ApplicantEmail` ASC),
CONSTRAINT `ApplicantID`
FOREIGN KEY()
REFERENCES `ApplicationSystem`.`UserType`()
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB;
-- -----------------------------------------------------
-- Table `ApplicationSystem`.`table1`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `ApplicationSystem`.`table1` (
`ID` TEXT(6) NOT NULL,
`outcome` TEXT(6) NULL,
PRIMARY KEY (`ID`))
ENGINE = InnoDB;
-- -----------------------------------------------------
-- Table `ApplicationSystem`.`outcome`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `ApplicationSystem`.`outcome` (
`ID` TEXT(6) NOT NULL,
`Outcome` ENUM('R', 'A') NULL,
PRIMARY KEY (`ID`),
CONSTRAINT `ID`
FOREIGN KEY (`ID`)
REFERENCES `ApplicationSystem`.`Applicants` (`ApplicantID`)
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB;
USE `ApplicationSystem` ;
-- -----------------------------------------------------
-- Placeholder table for view `ApplicationSystem`.`view1`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `ApplicationSystem`.`view1` (`id` INT);
-- -----------------------------------------------------
-- View `ApplicationSystem`.`view1`
-- -----------------------------------------------------
DROP TABLE IF EXISTS `ApplicationSystem`.`view1`;
USE `ApplicationSystem`;
SET [email protected]_SQL_MODE;
SET [email protected]_FOREIGN_KEY_CHECKS;
SET [email protected]_UNIQUE_CHECKS
weder mysql workbench noch phpmyadmin sind Datenbanken-Engine und als solche sollten Sie nicht die Datenbank überall übertragen müssen, nur die Verbindungen neu erstellen. – Sebas
auf einem anderen Hinweis, sieht dies wie ein sehr einfaches Syntaxproblem, leicht lösbar durch einen Blick durch http://dev.mysql.com/doc/refman/5.7/en/create-table-foreign-keys.html – Sebas
Pro-Tipp: Benutzer, die einen Benutzernamen von 'srhgrsdhfdh' festgelegt haben, scheinen die Tastatur geknallt zu haben, um schnelle Hilfe zu erhalten, und es wird allgemein angenommen, dass sie nicht Mitglieder der Community sein wollen. Dies kann sich auf die Art der Hilfe auswirken, die Sie erhalten. Vergessen Sie nicht, auch das Hilfe-Center zu lesen, insbesondere, welche Arten von Fragen hier am besten funktionieren. Vielen Dank! – halfer