SQL වැඩ්ඩන්ගෙන් උදව්වක් ඕනි..

CorD SaC

Well-known member
  • Feb 4, 2015
    15,764
    28,126
    113
    SQL වැඩ්ඩන්ගෙන් උදව්වක් ඕනි..

    SQL වැඩ්ඩන්ගෙන් උදව්වක් ඕනි..

    මචන්ලා මේකයි කේස් එක ,මේ create table එක wampserver එකේ ගැහුවාම error එකක් එන්වනේ..මේ කෝඩ් එකේ තියෙන වැ‍රැද්ද මොකක්ද...plz ලොකු උදව්වක්... :(


    මම මේ foreign key එක සෙට් කරලා තියෙන විදිහ වැරදිද :confused:


    PHP:
    CREATE TABLE Student(
    S_ID VARCHAR(5) NOT NULL PRIMARY KEY,
    S_NAME VARCHAR(30) NOT NULL,
    GENDER VARCHAR(1) NOT NULL CHECK(GENDER('M','F')),
    DOB VARCHAR(8) CHECK (DOB>Current_Date),
    P_ID VARCHAR FORIEGN KEY REFERENCES Degree Programs(P_ID)
    );
    
    
    CREATE TABLE Degree Programs(
    P_ID VARCHAR(5) PRIMARY KEY,
    P_NAME VARCHAR(15) NOT NULL,
    FAC_ID VARCHAR FOREIGN KEY REFERENCES Faclties(FAC_ID)
    );
    
    
    CREATE TABLE Faculties(
    FAC_ID VARCHAR(5) PRIMARY KEY,
    FAC_NAME VARCHAR(15) NOT NULL
    );
    
    CREATE TABLE Levels(
    LEVEL_ID VARCHAR NOT NULL PRIMARY KEY,
    P_ID VARCHAR FOREIGN KEY REFERENCES Degree Programs(P_ID)
    );
    
    
    CREATE TABLE Modules(
    MODULE_ID VARCHAR(5) NOT NULL PRIMARY KEY,
    MODULE_NAME VARCHAR(15) NOT NULL,
    LEVEL_ID VARCHAR FOREIGN KEY REFERENCES Levels(LEVEL_ID),
    LECTURER_ID VARCHAR FORIEGN KEY REFERENCES Lecturer(LECTURER_ID)
    );
    
    CREATE TABLE ASSESMENT(
    A_ID VARCHAR(5) NOT NULL PRIMARY KEY,
    A_TYPE VARCHAR(10) NOT NULL,
    MODULE_ID VARCHAR FOREIGN KEY REFERENCES Modules(MODULE_ID)
    );
    
    
    CREATE TABLE Lecturer(
    LECTURER_ID VARCHAR(5) NOT NULL PRIMARY KEY,
    LECTURER_NAME VARCHAR(25) NOT NULL 
    );
     

    Attachments

    • SQL.txt
      1.1 KB · Views: 242

    CorD SaC

    Well-known member
  • Feb 4, 2015
    15,764
    28,126
    113
    Machan FORIEGN KEYS tika tables tika create karala iwara unata passe, ALTER TABLE eken add karanna

    එහෙම නැතුව ගන්ඩ බැරිද මචන්,මොකද මේක කෝඩ් එකෙනම් ගන්ඩ ඕනි :(
     

    CorD SaC

    Well-known member
  • Feb 4, 2015
    15,764
    28,126
    113
    mokakda error code message?

    SQL query:

    CREATE TABLE Student( S_ID VARCHAR(5) NOT NULL PRIMARY KEY, S_NAME VARCHAR(30) NOT NULL, GENDER VARCHAR(1) NOT NULL CHECK(GENDER('M','F')), DOB VARCHAR(8) CHECK (DOB>Current_Date), P_ID VARCHAR FORIEGN KEY REFERENCES Degree Programs(P_ID) ); MySQL said:
    #1064 - Erreur de syntaxe près de 'FORIEGN KEY REFERENCES Degree Programs(P_ID)
    )' Ã la ligne 6

    මේක මචන් :(
     

    sbanurada

    Well-known member
  • Jun 4, 2007
    1,948
    2,523
    113
    CREATE TABLE Student(
    S_ID VARCHAR(5) NOT NULL PRIMARY KEY,
    S_NAME VARCHAR(30) NOT NULL,
    GENDER VARCHAR(1) NOT NULL CHECK ( [Gender] IN ('M', 'F') ),
    DOB VARCHAR(8) CHECK (DOB > 'Current_Date'),
    P_ID VARCHAR(5) FOREIGN KEY REFERENCES Degree_Programs(P_ID) );


    CREATE TABLE Degree_Programs(
    P_ID VARCHAR(5) PRIMARY KEY,
    P_NAME VARCHAR(15) NOT NULL,
    FAC_ID VARCHAR(5) FOREIGN KEY REFERENCES Faculties (FAC_ID));


    CREATE TABLE Faculties(
    FAC_ID VARCHAR(5) PRIMARY KEY,
    FAC_NAME VARCHAR(15) NOT NULL
    );

    CREATE TABLE Levels(
    LEVEL_ID VARCHAR NOT NULL PRIMARY KEY,
    P_ID VARCHAR(5) FOREIGN KEY REFERENCES Degree_Programs(P_ID)
    );


    CREATE TABLE Modules(
    MODULE_ID VARCHAR(5) NOT NULL PRIMARY KEY,
    MODULE_NAME VARCHAR(15) NOT NULL,
    LEVEL_ID VARCHAR FOREIGN KEY REFERENCES Levels(LEVEL_ID),
    LECTURER_ID VARCHAR(5) FOREIGN KEY REFERENCES Lecturer(LECTURER_ID)
    );

    CREATE TABLE ASSESMENT(
    A_ID VARCHAR(5) NOT NULL PRIMARY KEY,
    A_TYPE VARCHAR(10) NOT NULL,
    MODULE_ID VARCHAR(5) FOREIGN KEY REFERENCES Modules(MODULE_ID)
    );


    CREATE TABLE Lecturer(
    LECTURER_ID VARCHAR(5) NOT NULL PRIMARY KEY,
    LECTURER_NAME VARCHAR(25) NOT NULL
    );


    godak waridi ban.onna haduwa.
    FOREIGN KEY hadanakota anith tabale hadila thiyenta oni.
    DOB VARCHAR(8) CHECK (DOB > 'Current_Date'), cuurent date kiyana 1a mata suvrer ne.
    anika space be table name walata

    thawa waradi tikak atha.ewa himita balapan.
    day end time 1a busyyyyyyyyyyyyy.
     
    Last edited:

    vdilshan

    Well-known member
  • Apr 21, 2011
    1,653
    155
    63
    Colombo, LK
    එහෙම නැතුව ගන්ඩ බැරිද මචන්,මොකද මේක කෝඩ් එකෙනම් ගන්ඩ ඕනි :(

    Code ekama thamai machan yatin liyanna kiyanne, mokada F_KEY danna reference table eka hadila thiyenna one, anith eka table names daddi Space and capital words danna epa
     

    Rovin

    Well-known member
  • Aug 27, 2008
    56,440
    2,081
    113
    ෴*On Earth*෴
    mehema karapan

    mulinma create table tika karanna eeta passe alter table tika ekin eka karanna

    CREATE TABLE Faculties(
    FAC_ID VARCHAR(5) PRIMARY KEY,
    FAC_NAME VARCHAR(15) NOT NULL
    );

    CREATE TABLE Lecturer(
    LECTURER_ID VARCHAR(5) NOT NULL PRIMARY KEY,
    LECTURER_NAME VARCHAR(25) NOT NULL
    );

    CREATE TABLE Student(
    S_ID VARCHAR(5) NOT NULL PRIMARY KEY,
    S_NAME VARCHAR(30) NOT NULL,
    GENDER VARCHAR(1) NOT NULL
    );


    CREATE TABLE DegreePrograms(
    P_ID VARCHAR(5) PRIMARY KEY,
    P_NAME VARCHAR(15) NOT NULL
    );


    CREATE TABLE Levels(
    LEVEL_ID VARCHAR(10) NOT NULL PRIMARY KEY
    );


    CREATE TABLE Modules(
    MODULE_ID VARCHAR(5) NOT NULL PRIMARY KEY,
    MODULE_NAME VARCHAR(15) NOT NULL
    );

    CREATE TABLE ASSESMENT(
    A_ID VARCHAR(5) NOT NULL PRIMARY KEY,
    A_TYPE VARCHAR(10) NOT NULL
    );
    ---------------------------------------------------------
    ALTER TABLE DegreePrograms
    ADD FOREIGN KEY (P_ID)
    REFERENCES Faculties(FAC_ID)

    ALTER TABLE Student
    ADD FOREIGN KEY (S_ID)
    REFERENCES DegreePrograms (P_ID)

    ALTER TABLE Levels
    ADD FOREIGN KEY (LEVEL_ID)
    REFERENCES DegreePrograms(P_ID)

    ALTER TABLE Modules
    ADD FOREIGN KEY (MODULE_ID)
    REFERENCES Levels(LEVEL_ID)

    ALTER TABLE ASSESMENT
    ADD FOREIGN KEY (A_ID)
    REFERENCES Modules(MODULE_ID)

    CHECK constraint eka mysql wada na ekata wena mokakhari solution ekak balanna

    foreign keys patalawagena thiyenne meke

    CREATE TABLE Modules(
    MODULE_ID VARCHAR(5) NOT NULL PRIMARY KEY,
    MODULE_NAME VARCHAR(15) NOT NULL,
    LEVEL_ID VARCHAR FOREIGN KEY REFERENCES Levels(LEVEL_ID),
    LECTURER_ID VARCHAR FORIEGN KEY REFERENCES Lecturer(LECTURER_ID)

    );
     

    CorD SaC

    Well-known member
  • Feb 4, 2015
    15,764
    28,126
    113
    CREATE TABLE Student(
    S_ID VARCHAR(5) NOT NULL PRIMARY KEY,
    S_NAME VARCHAR(30) NOT NULL,
    GENDER VARCHAR(1) NOT NULL CHECK ( [Gender] IN ('M', 'F') ),
    DOB VARCHAR(8) CHECK (DOB > 'Current_Date'),
    P_ID VARCHAR(5) FOREIGN KEY REFERENCES Degree_Programs(P_ID) );


    CREATE TABLE Degree_Programs(
    P_ID VARCHAR(5) PRIMARY KEY,
    P_NAME VARCHAR(15) NOT NULL,
    FAC_ID VARCHAR(5) FOREIGN KEY REFERENCES Faculties (FAC_ID));


    CREATE TABLE Faculties(
    FAC_ID VARCHAR(5) PRIMARY KEY,
    FAC_NAME VARCHAR(15) NOT NULL
    );

    CREATE TABLE Levels(
    LEVEL_ID VARCHAR NOT NULL PRIMARY KEY,
    P_ID VARCHAR(5) FOREIGN KEY REFERENCES Degree_Programs(P_ID)
    );


    CREATE TABLE Modules(
    MODULE_ID VARCHAR(5) NOT NULL PRIMARY KEY,
    MODULE_NAME VARCHAR(15) NOT NULL,
    LEVEL_ID VARCHAR FOREIGN KEY REFERENCES Levels(LEVEL_ID),
    LECTURER_ID VARCHAR(5) FOREIGN KEY REFERENCES Lecturer(LECTURER_ID)
    );

    CREATE TABLE ASSESMENT(
    A_ID VARCHAR(5) NOT NULL PRIMARY KEY,
    A_TYPE VARCHAR(10) NOT NULL,
    MODULE_ID VARCHAR(5) FOREIGN KEY REFERENCES Modules(MODULE_ID)
    );


    CREATE TABLE Lecturer(
    LECTURER_ID VARCHAR(5) NOT NULL PRIMARY KEY,
    LECTURER_NAME VARCHAR(25) NOT NULL
    );


    godak waridi ban.onna haduwa.
    FOREIGN KEY hadanakota anith tabale hadila thiyenta oni.
    DOB VARCHAR(8) CHECK (DOB > 'Current_Date'), cuurent date kiyana 1a mata suvrer ne.
    anika space be table name walata

    thawa waradi tikak atha.ewa himita balapan.
    day end time 1a busyyyyyyyyyyyyy.

    ELA thnks macha :)