Vinnaren i pepparkakshustävlingen!
2010-12-12, 15:24
  #1
Medlem
Jag är inte så bevandrad i SQL men det här är det jag har just nu:

Kod:
--
-- MySQL 5.0.75
-- Sun, 12 Dec 2010 12:21:06 +0000
--

CREATE TABLE `cities` (
   `id` int(10) not null auto_increment,
   `city` tinytext,
   `country` tinytext,
   `province` tinytext,
   PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=swe7 AUTO_INCREMENT=1;

CREATE TABLE `patterns` (
   `id` int(10) not null auto_increment,
   `pattern` tinytext,
   PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=swe7 AUTO_INCREMENT=1;

CREATE TABLE `items` (
   `id` int(10) not null auto_increment,
   `type_id` int(10) FOREIGN KEY('type_id') REFERENCES types('id'),
   `pattern_id` int(10) FOREIGN KEY('pattern_id') REFERENCES patterns('id'),
   `length` float,
   `cost` float,
   `total_rings` bigint(10),
   PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=swe7 AUTO_INCREMENT=1;

CREATE TABLE `types` (
   `id` int(10) not null auto_increment,
   `type` tinytext,
   PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=swe7 AUTO_INCREMENT=1;

CREATE TABLE `orders` (
   `id` int(10) not null auto_increment,
   `type_id` int(10) FOREIGN KEY('type_id') REFERENCES types('id'),
   `item_id` int(10) FOREIGN KEY('item_id') REFERENCES items('id'),
   `status` int(10),
   PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=swe7 AUTO_INCREMENT=1;

CREATE TABLE `users` (
   `id` int(10) not null auto_increment,
   `first_name` tinytext,
   `surname` tinytext,
   `street` tinytext,
   `street_number` int(10),
   `city_id` int(10) FOREIGN KEY('city_id') REFERENCES cities('id'),
   `postal_code` int(10),
   `current_order_id` int(10) FOREIGN KEY('current_order_id') REFERENCES orders('id'),
   PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=swe7 AUTO_INCREMENT=1;

Tyvärr funkar det inte när jag försöker köra en query på detta, utan det ger något kryptiskt felmeddelande.
Citera
2010-12-12, 15:36
  #2
Medlem
FiskOdlarns avatar
Citat:
Ursprungligen postat av Armandur
Tyvärr funkar det inte när jag försöker köra en query på detta, utan det ger något kryptiskt felmeddelande.

Hur lyder detta kryptiska felmeddelande?
Citera
2010-12-12, 15:42
  #3
Medlem
Citat:
Ursprungligen postat av FiskOdlarn
Hur lyder detta kryptiska felmeddelande?
Kod:
The following errors were reported: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 'FOREIGN KEY('type_id') REFERENCES types('id'), `pattern_id` int(10) FOREIGN K' at line 3
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 'FOREIGN KEY('type_id') REFERENCES types('id'), `item_id` int(10) FOREIGN KEY(' at line 3
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 'FOREIGN KEY('city_id') REFERENCES cities('id'), `postal_code` int(10), cu' at line 7

För övrigt så använder jag zymic.com som webbhost och de använder i sin tur sqlbuddy.
Citera
2010-12-12, 17:17
  #4
Medlem
Och visst borde jag ha en relation många till en på order_id hos kunden eftersom en kund kan ha flera ordrar men en order bara en kund? Och hur skulle man gå till väga för att göra det?
Citera
2010-12-12, 23:40
  #5
Medlem
Jag har fixat det här nu, tråden kan stängas. Gjorde designen i PHPMyadmin installerat på min dator å exporterade till .sql fil å importera på zymic.com.
Citera

Stöd Flashback

Flashback finansieras genom donationer från våra medlemmar och besökare. Det är med hjälp av dig vi kan fortsätta erbjuda en fri samhällsdebatt. Tack för ditt stöd!

Stöd Flashback