# #Tabel struktur for: shop_dealer # CREATE TABLE shop_dealer ( dealer_id MEDIUMINT (8) NOT NULL auto_increment, company_name VARCHAR (30) NOT NULL, contact_person VARCHAR (128) NOT NULL, address1 VARCHAR (128) NOT NULL, address2 VARCHAR (128) NOT NULL, zipcide INT (4) NOT NULL, town VARCHAR (128) NOT NULL, phone INT (11) NOT NULL, cellphone INT (11) NOT NULL, PRIMARY KEY (dealer_id) ) TYPE=INNODB;
# #Tabel struktur for: shop_products # CREATE TABLE shop_products ( product_id INT (16) NOT NULL auto_increment, name VARCHAR (15) NOT NULL , descript TEXT NOT NULL , in_price MEDIUMINT (16) NOT NULL , out_price MEDIUMINT (16) NOT NULL , cat VARCHAR (10) NOT NULL , photo BLOB NOT NULL , sale ENUM ('Y','N') NOT NULL default 'N', store MEDIUMINT (16) NOT NULL , ordermore MEDIUMINT (16) NOT NULL , primary_dealer MEDIUMINT (16) NOT NULL, PRIMARY KEY (product_id) , FOREIGN KEY (primary_dealer) REFERENCES shop_dealer(dealer_id) ) TYPE=INNODB;
# #Tabel struktur for: shop_customer # CREATE TABLE shop_customer ( customer_id INT (16) NOT NULL auto_increment, f_name VARCHAR (128) NOT NULL, l_name VARCHAR (128) NOT NULL, address1 VARCHAR (128) NOT NULL, address2 VARCHAR (128) NOT NULL, zipcide INT (4) NOT NULL, town VARCHAR (128) NOT NULL, phone INT (11) NOT NULL, cellphone INT (11) NOT NULL, PRIMARY KEY (customer_id) ) TYPE=INNODB;
# #Tabel struktur for: shop_basket # CREATE TABLE shop_basket( basket_id INT NOT NULL auto_increment , session_id VARCHAR (32) NOT NULL , product_id INT NOT NULL , PRIMARY KEY (basket_id) , FOREIGN KEY (product_id) REFERENCES shop_products(product_id) ) TYPE=INNODB;
# #Tabel struktur for: shop_orders # CREATE TABLE shop_orders ( order_id INT (12) NOT NULL auto_increment , product_id INT (32) NOT NULL , customer_id VARCHAR (128) , date INT (12) NOT NULL, PRIMARY KEY (order_id) , FOREIGN KEY (product_id) REFERENCES shop_products(product_id) FOREIGN KEY (customer_id) REFERENCES shop_customer(customer_id) ) TYPE=INNODB;
Når jeg køre denne statement for jeg følgende fejl: ERROR 1005 at line 27: Can't create table './webshop/shop_products.frm' (errno: 150)
I følge mysql.com change log for 7.5.14.17 MySQL/InnoDB-3.23.50, April 23, 2002 Fixed a bug: in a CREATE TABLE statement the string 'foreign' followed by a non-space character confused the FOREIGN KEY parser and caused table creation to fail with errno 150.
Blev overstående fejl rettet, som er dette tæteste jeg er kommet på af finde fejlen, men denne fejl omhandler string 'foreign' followed by a non-space. Hvilket jeg jo ikke har?!?
# #Tabel struktur for: shop_dealer # CREATE TABLE shop_dealer ( dealer_id INT NOT NULL auto_increment, company_name VARCHAR (30) NOT NULL, contact_person VARCHAR (128) NOT NULL, address1 VARCHAR (128) NOT NULL, address2 VARCHAR (128) NOT NULL, zipcide INT (4) NOT NULL, town VARCHAR (128) NOT NULL, phone INT (11) NOT NULL, cellphone INT (11) NOT NULL, PRIMARY KEY (dealer_id) ) TYPE=INNODB;
# #Tabel struktur for: shop_products # CREATE TABLE shop_products ( product_id INT NOT NULL auto_increment, name VARCHAR (15) NOT NULL , descript TEXT NOT NULL , in_price MEDIUMINT (16) NOT NULL , out_price MEDIUMINT (16) NOT NULL , cat VARCHAR (10) NOT NULL , photo BLOB NOT NULL , sale ENUM ('Y','N') NOT NULL default 'N', store MEDIUMINT (16) NOT NULL , ordermore MEDIUMINT (16) NOT NULL , primary_dealer INT NOT NULL, PRIMARY KEY (product_id) , FOREIGN KEY (primary_dealer) REFERENCES shop_dealer(dealer_id) ) TYPE=INNODB; # #Tabel struktur for: shop_customer # CREATE TABLE shop_customer ( customer_id INT NOT NULL auto_increment, f_name VARCHAR (128) NOT NULL, l_name VARCHAR (128) NOT NULL, address1 VARCHAR (128) NOT NULL, address2 VARCHAR (128) NOT NULL, zipcide INT (4) NOT NULL, town VARCHAR (128) NOT NULL, phone INT (11) NOT NULL, cellphone INT (11) NOT NULL, PRIMARY KEY (customer_id) ) TYPE=INNODB;
# #Tabel struktur for: shop_basket # CREATE TABLE shop_basket( basket_id INT NOT NULL auto_increment , session_id VARCHAR (32) NOT NULL , product_id INT NOT NULL , PRIMARY KEY (basket_id) , FOREIGN KEY (product_id) REFERENCES shop_products(product_id) ) TYPE=INNODB;
# #Tabel struktur for: shop_orders # CREATE TABLE shop_orders ( order_id INT (12) NOT NULL auto_increment , product_id INT NOT NULL , customer_id INT NOT NULL , date INT (12) NOT NULL, PRIMARY KEY (order_id) , FOREIGN KEY (product_id) REFERENCES shop_products(product_id) , FOREIGN KEY (customer_id) REFERENCES shop_customer(customer_id) ) TYPE=INNODB;
Jeg vil lige tage mig den frihed at quote fra mysql manualen ;) "InnoDB does not auto-create indexes on foreign keys or referenced keys: you have to create them explicitly."
# #Tabel struktur for: shop_dealer # CREATE TABLE shop_dealer ( dealer_id INT NOT NULL auto_increment, company_name VARCHAR (30) NOT NULL, contact_person VARCHAR (128) NOT NULL, address1 VARCHAR (128) NOT NULL, address2 VARCHAR (128) NOT NULL, zipcide INT (4) NOT NULL, town VARCHAR (128) NOT NULL, phone INT (11) NOT NULL, cellphone INT (11) NOT NULL, PRIMARY KEY (dealer_id) ) TYPE=INNODB;
# #Tabel struktur for: shop_products # CREATE TABLE shop_products ( product_id INT NOT NULL auto_increment, name VARCHAR (15) NOT NULL , descript TEXT NOT NULL , in_price MEDIUMINT (16) NOT NULL , out_price MEDIUMINT (16) NOT NULL , cat VARCHAR (10) NOT NULL , photo BLOB NOT NULL , sale ENUM ('Y','N') NOT NULL default 'N', store MEDIUMINT (16) NOT NULL , ordermore MEDIUMINT (16) NOT NULL , primary_dealer INT NOT NULL, PRIMARY KEY (product_id) , INDEX dealer_id_idx (primary_dealer), FOREIGN KEY (primary_dealer) REFERENCES shop_dealer(dealer_id) ) TYPE=INNODB; # #Tabel struktur for: shop_customer # CREATE TABLE shop_customer ( customer_id INT NOT NULL auto_increment, f_name VARCHAR (128) NOT NULL, l_name VARCHAR (128) NOT NULL, address1 VARCHAR (128) NOT NULL, address2 VARCHAR (128) NOT NULL, zipcide INT (4) NOT NULL, town VARCHAR (128) NOT NULL, phone INT (11) NOT NULL, cellphone INT (11) NOT NULL, PRIMARY KEY (customer_id) ) TYPE=INNODB;
# #Tabel struktur for: shop_basket # CREATE TABLE shop_basket( basket_id INT NOT NULL auto_increment , session_id VARCHAR (32) NOT NULL , product_id INT NOT NULL , PRIMARY KEY (basket_id) , INDEX product_id_idx(product_id), FOREIGN KEY (product_id) REFERENCES shop_products(product_id) ) TYPE=INNODB;
# #Tabel struktur for: shop_orders # CREATE TABLE shop_orders ( order_id INT (12) NOT NULL auto_increment , product_id INT NOT NULL , customer_id INT NOT NULL , date INT (12) NOT NULL, PRIMARY KEY (order_id) , INDEX product_id_idx(product_id), FOREIGN KEY (product_id) REFERENCES shop_products(product_id) , INDEX customer_id_idx(customer_id), FOREIGN KEY (customer_id) REFERENCES shop_customer(customer_id) ) TYPE=INNODB;
Har selv haft samme problem da jeg sad med min database opgave!
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.