war ich Tabellen mit der Syntax in phpMyAdmin erstellen:SQL Fremdschlüssel
DROP TABLE IF EXISTS users;
DROP TABLE IF EXISTS info;
CREATE TABLE users (
user_id int unsigned NOT NULL auto_increment,
email varchar(100) NOT NULL default '',
pwd varchar(32) NOT NULL default '',
isAdmin int(1) unsigned NOT NULL,
PRIMARY KEY (user_id)
) TYPE=INNODB;
CREATE TABLE info (
info_id int unsigned NOT NULL auto_increment,
first_name varchar(100) NOT NULL default '',
last_name varchar(100) NOT NULL default '',
address varchar(300) NOT NULL default '',
zipcode varchar(100) NOT NULL default '',
personal_phone varchar(100) NOT NULL default '',
mobilephone varchar(100) NOT NULL default '',
faxe varchar(100) NOT NULL default '',
email2 varchar(100) NOT NULL default '',
country varchar(100) NOT NULL default '',
sex varchar(1) NOT NULL default '',
birth varchar(1) NOT NULL default '',
email varchar(100) NOT NULL default '',
PRIMARY KEY (info_id),
FOREIGN KEY (email) REFERENCES users(email) ON UPDATE CASCADE ON DELETE CASCADE
) TYPE=INNODB;
Aber zeigt den Fehler:
"#1064 - 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 'TYPE=INNODB' at line 11 "
Wenn ich den TYPE = INNODB am Ende erstellen, um die Tabellen zu entfernen, Es wird der Fehler angezeigt:
"#1005 - Can't create table 'curriculo.info' (errno: 150) ".
Wenn ich nicht Geben Sie die Engine an, die er standardmäßig verwendet, aber der Fehler "# 1005 - Tabelle kann nicht erstellt werden curriculo.info '(errno: 150)" wird fortgesetzt. –
Wahrscheinlich, weil Sie keinen 'UNIQUE KEY (email)' haben in der Tabelle "Benutzer" –
Ja, das war es! Danke –