2016-04-09 10 views
-1

ich eine Tabelle zu erstellen versucht, aber ich bekamIhre Hilfe brauchen: MYSQL ERROR 1215 (HY000): Kann nicht über Fremdschlüssel hinzufügen

MYSQL ERROR 1215 (HY000): Kann nicht fremd hinzufügen Schlüsselbedingung

. Hier ist der Code:

DROP SCHEMA IF EXISTS `users`; 
CREATE SCHEMA `users`; 

USE `users`; 

DROP TABLE IF EXISTS `useraccount`; 
DROP TABLE IF EXISTS `userinfo`; 

CREATE TABLE `account` (
    `uid` BIGINT unsigned NOT NULL AUTO_INCREMENT, 
    `uname` VARCHAR(50) NOT NULL, 
    `passwd` VARCHAR(20) NOT NULL, 
    PRIMARY KEY(`uid`) 
)ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1; 

CREATE TABLE `info` (
    `uid` BIGINT unsigned ZeroFill NOT NULL, 
    `rname` VARCHAR(10) NOT NULL, 
    `phone` VARCHAR(15) NOT NULL, 
    `email` VARCHAR(50) NOT NULL, 
    UNIQUE KEY `uid` (`uid`), 
    CONSTRAINT `fkinfo` FOREIGN KEY (`uid`) REFERENCES `userAccount`(`uid`) ON DELETE CASCADE ON UPDATE CASCADE 
)ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1; 

Alle Vorschläge würden wir uns freuen.

+0

Sie haben keine Tabelle useraccount aber Konto – Mihai

+0

Sie können keinen Fremdschlüsselverweis auf Tabelle * useraccount * erstellen, da Sie keinen haben. Ihre Tabelle heißt * account *. Abstimmung zu schließen, weil das Problem einfach eine falsch benannte Tabelle ist (ein typografischer Fehler), und daher wird die Frage in Zukunft für andere nicht von Nutzen sein. –

Antwort

0

Ich sehe keine Tabelle. Vielleicht beabsichtigen Sie, die Account Tabelle:

CONSTRAINT `fkinfo` FOREIGN KEY (`uid`) REFERENCES `Account`(`uid`) ON DELETE CASCADE ON UPDATE CASCADE 

Here ist ein SQL-Fiddle.

+0

Ah .... QAQ ... Das ist mir nicht aufgefallen. Immer versucht, Syntaxfehler zu finden. Vielen Dank! – Geoferry

Verwandte Themen