Kom ihåg mig?
Home Menu

Menu


Hjälp med att skapa MySQL procedure

 
Ämnesverktyg Visningsalternativ
Oläst 2010-12-17, 23:42 #6
Conny Westh Conny Westh är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: Aug 2005
Inlägg: 5 166
Conny Westh Conny Westh är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: Aug 2005
Inlägg: 5 166
Det ska inte vara något kommatecken före REFERENCES:

Kod:
CREATE TABLE person(
    id INT NOT NULL AUTO_INCREMENT,
    name int(11) NOT NULL,
    age int(11) default NULL REFERENCES name(id),
    PRIMARY KEY (id))
Sen såg jag att du glömt att göra kolumnen "name" unik i tabellen "Name" vilket motverkar syftet med den tabellen. Sätt unikt index på den kolumnen.

Utöver det skulle jag rekommendera att inte lagra värde på age utan lagra YearOfBirth i stället och sedan räkna ut ålder utifrån dagens datum. Age är inget stabilt värde utan det förändras med automatik när klockar går. Det är för det mesta bättre att lagra ett stabilt värde och sedan räkna ut de instabila värdena. Detta sagt utan att veta exakt hur din databas kommer att användas.


Kod:
delimiter $$

CREATE TABLE `name` 
(
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(255) NOT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `name_UNIQUE` (`name`)
) ENGINE=InnoDB AUTO_INCREMENT=19 DEFAULT CHARSET=latin1$$


Kod:
delimiter $$

CREATE TABLE `person` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` int(11) NOT NULL,
  `age` int(11) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1$$
Jag använder version 5.1.53 har inte hunnit uppdatera till 5.5.8 ännu men jag har laddat ner den i alla fall.

Senast redigerad av Conny Westh den 2010-12-18 klockan 00:21
Conny Westh är inte uppkopplad   Svara med citatSvara med citat
 


Aktiva användare som för närvarande tittar på det här ämnet: 1 (0 medlemmar och 1 gäster)
 

Regler för att posta
Du får inte posta nya ämnen
Du får inte posta svar
Du får inte posta bifogade filer
Du får inte redigera dina inlägg

BB-kod är
Smilies är
[IMG]-kod är
HTML-kod är av

Forumhopp


Alla tider är GMT +2. Klockan är nu 09:39.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson
 
Copyright © 2017