Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it L'avatar di HammerFist
    Registrato dal
    May 2005
    Messaggi
    1,110

    Sql e tabella con integrità referenziale...

    CREATE TABLE `categorie` (
    `id` int(11) NOT NULL auto_increment,
    `nome` mediumtext NOT NULL,
    `descrizione` text NOT NULL,
    `id_cat_sup` int(11) NOT NULL default '0',
    PRIMARY KEY (`id`),
    KEY `id` (`id`),
    KEY `id_cat_sup` (`id_cat_sup`)
    ) TYPE=InnoDB;


    CREATE TABLE `news` (
    `id` int(11) NOT NULL auto_increment,
    `titolo` mediumtext NOT NULL,
    `testo` text NOT NULL,
    `data` date NOT NULL default '0000-00-00',
    `autore` int(11) NOT NULL default '0',
    PRIMARY KEY (`id`)
    ) TYPE=InnoDB;


    CREATE TABLE `rel_cat_news` (
    `id` int(11) NOT NULL auto_increment,
    `id_cat` int(11) NOT NULL default '0',
    `id_news` int(11) NOT NULL default '0',
    `id_cat_pad` int(11) NOT NULL default '0',
    PRIMARY KEY (`id`),
    KEY `id_cat` (`id_cat`),
    KEY `id_cat_pad` (`id_cat_pad`),
    KEY `id_news` (`id_news`),
    KEY `id` (`id`),
    CONSTRAINT `relaz_1` FOREIGN KEY (`id`) REFERENCES `rel_cat_news` (`id_cat_pad`)
    ) TYPE=InnoDB ROW_FORMAT=DYNAMIC;

    ho qst tre tabelle in cui vi inserisco nella prima tutte le categorie e nella seconda tutte le news... la terza in pratica mi permette di estrarre tutto il contenuto di una categorie(sottocategorie e news)... ora io vorrei che al cancellare di una categoria mi cancelli tutto il suo contenuto... come potete vedere ho provato a fare delle prove ma non mi riesce... mi potreste aiutare?

  2. #2
    PER CREARE UNA CHIAVE ESTERNA DEVI FARE COSI:

    create table impianti
    (
    pv smallint(6) unsigned,
    citta varchar(40),
    provincia varchar(40),
    regione varchar(40),
    telefono1 int,
    telefono2 int,
    fax int,
    mail varchar(40),
    ditta varchar(10),
    PRIMARY KEY(pv,ditta)
    ) TYPE=InnoDB;



    create table gestori
    (
    rag_sociale varchar(40),
    nome varchar(40),
    cognome varchar(40),
    id smallint(5) primary key auto_increment,
    pv smallint(6) unsigned,
    ditta varchar(10),
    index(pv,ditta),
    FOREIGN KEY(pv,ditta) REFERENCES impianti(pv,ditta)
    ON DELETE SET NULL
    ON UPDATE CASCADE
    ) TYPE=InnoDB;


    questo è un esempio di 2 tabelle di uno script che ho fatto io, ma la sintassi è la stessa, basta cambiare i nomi dei campi

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.