Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    aiuto conversione sql postgre mysql

    Salve, sto leggendo un libro che tratta di php5, ma purtroppo nel libro sono presenti solo query per postgre, adesso a me servirebbe "tradurli" per mysql, ho difficoltà, in quanto usando myisam di solito come motore per mysql non ho tanta dimestichezza con chiavi esterne e simili...., ho gia cambiato il motore delle tabelle che mi interessano in InnoDB, ma con le fk mi sto tagliando e di grosso, il manuale di mysql è un po difficile da seguire, se qualche anima pia volesse darmi una mano in questa piccola traduzione.... la ringrazio in anticipo, le prime due tabelle le ho già tradotte, è con la terza che ho qualche probelmino, volevo evitare di installare postgre per seguire il libro, anche perchè voglio approfondire mysql per il momento... grazie ancora in anticipo



    CREATE TABLE "student" (
    "studentid" SERIAL NOT NULL PRIMARY KEY,
    "name" varchar(255)
    );

    CREATE TABLE "course" (
    "courseid" SERIAL NOT NULL PRIMARY KEY,
    "coursecode" varchar(10),
    "name" varchar(255)
    );

    CREATE TABLE "studentcourse" (
    "studentid" integer,
    "courseid" integer,
    CONSTRAINT "fk_studentcourse_studentid"
    FOREIGN KEY ("studentid")
    REFERENCES "student"("studentid"),
    CONSTRAINT "fk_studentcourse_courseid"
    FOREIGN KEY ("courseid")
    REFERENCES "course"("courseid")
    );

    CREATE UNIQUE INDEX "idx_studentcourse_unique"
    ON "studentcourse"("studentid", "courseid");

  2. #2
    Utente di HTML.it L'avatar di bubi1
    Registrato dal
    Dec 2009
    Messaggi
    1,230
    e' piu' facile di quanto ti possa sembrare.

    1. Sostituisci tutti gli apici doppi con i backtick, oppure rimuovili e basta
    2. trasforma i SERIAL NOT NULL PRIMARY KEY in INT NOT NULL AUTO_INCREMENT PRIMARY KEY
    3. su ogni create table, prima della chiusura ; aggiungi engine=innodb

    tutto il resto e' uguale.

  3. #3
    prima di tutto grazie...
    il fatto è che le tabelle le avevo gia create, adesso sto aggiornando le chiavi esterne quindi in mysql su tabelle esistenti ho la seguente procedura....

    primo indice:

    ALTER TABLE studentcourse ADD CONSTRAINT fk_studentcourse_studentid FOREIGN KEY (studentid) REFERENCES student(studentid)

    per il secondo procedo con gli opportuni cambiamenti alla stessa maniera...

    dopo dovrei aggiornare anche l'ultimo indice quello della unicità della coppia studente-corso....

    ti ringrazio ancora.... se sono di nuovo in difficolta faccio un fischio...

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.