Visualizzazione dei risultati da 1 a 10 su 10
  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2002
    residenza
    Cittį del Messico (Messico)
    Messaggi
    610

    non funziona ON DELETE CASCADE

    non riesco a far funzionare con MYSQL+PHP ON DELETE CASCADE ossia eseguo un DELETE in una tabella principale e nelel secondarie relazionate non mi cancella nulla!!

    la relazione di tutte le tabelle con la principale la eseguo cosķ :

    la tabella principale si chiama proyectos e la relazione é id_proyecto in tutte le tabelle.

    FOREIGN KEY (id_proyecto) REFERENCES proyectos(id_proyecto) ON DELETE CASCADE


    grazie
    M.Solazzi
    from
    Mexico City!!

  2. #2
    Sposto nel forum dedicato
    Addio Aldo, amico mio... [03/12/70 - 16/08/03]

  3. #3
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,923
    Hai assegnato a tutte le tabelle l'engine innodb?

  4. #4
    Utente di HTML.it
    Registrato dal
    Feb 2002
    residenza
    Cittį del Messico (Messico)
    Messaggi
    610
    si...
    M.Solazzi
    from
    Mexico City!!

  5. #5
    Utente di HTML.it
    Registrato dal
    Feb 2002
    residenza
    Cittį del Messico (Messico)
    Messaggi
    610
    tutte le tablle le creo cosķ: ENGINE=INNODB DEFAULT CHARSET=utf8;
    M.Solazzi
    from
    Mexico City!!

  6. #6
    Utente di HTML.it
    Registrato dal
    Feb 2002
    residenza
    Cittį del Messico (Messico)
    Messaggi
    610
    non trovo soluzione se non la solita di fare 10 SQL DELETE uno per ogni tabella!!!
    M.Solazzi
    from
    Mexico City!!

  7. #7
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,923
    Posta l'output di

    show create table proyectos

    e di almeno una tabella secondaria.

  8. #8
    Utente di HTML.it
    Registrato dal
    Feb 2002
    residenza
    Cittį del Messico (Messico)
    Messaggi
    610
    ok sono le due tabelle principale e una secondaria (relazionade con id_proyecto) ti posto solo una parte del codice estrapolata da php e solo con i campi necessari se no sarebbero troppi

    CREATE TABLE If not exists proyectos (
    id_proyecto INTEGER AUTO_INCREMENT PRIMARY KEY,
    nombre_proyecto VARCHAR(60) NOT NULL,
    INDEX (nombre_proyecto)
    )ENGINE=INNODB DEFAULT CHARSET=utf8



    (creo seconda tabella chiamata actividades_terminadas)
    CREATE TABLE If not exists actividades_terminadas (
    id_terminadas INTEGER AUTO_INCREMENT PRIMARY KEY,
    id_proyecto INTEGER,
    actividades_terminadas VARCHAR(60) NOT NULL,
    INDEX (actividades_terminadas),
    FOREIGN KEY (id_proyecto) REFERENCES proyectos(id_proyecto) ON DELETE CASCADE
    )ENGINE=INNODB DEFAULT CHARSET=utf8
    M.Solazzi
    from
    Mexico City!!

  9. #9
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,923
    Ho provato e mi sembra tutto a posto.

    codice:
    mysql> use test;
    database changed
    mysql> select version();
    +------------------+
    | version()        |
    +------------------+
    | 5.1.44-community |
    +------------------+
    1 row in set (0.00 sec)
    
    mysql> create table if not exists proyectos (
        -> id_proyecto integer auto_increment primary key,
        -> nombre_proyecto varchar(60) not null,
        -> index (nombre_proyecto)
        -> )engine=innodb default charset=utf8;
    query OK, 0 rows affected (0.06 sec)
    
    mysql> create table if not exists actividades_terminadas (
        -> id_terminadas integer auto_increment primary key,
        -> id_proyecto integer,
        -> actividades_terminadas varchar(60) not null,
        -> index (actividades_terminadas),
        -> foreign key (id_proyecto) references proyectos(id_proyecto) on delete ca
    cade
        -> )engine=innodb default charset=utf8;
    query OK, 0 rows affected (0.06 sec)
    
    mysql> insert into proyectos (nombre_proyecto) values ('aaa'),('bbb'),('ccc');
    query OK, 3 rows affected (0.02 sec)
    Records: 3  Duplicates: 0  warnings: 0
    
    mysql> insert into actividades_terminadas (id_proyecto,actividades_terminadas)
    alues (1,'a'),(1,'b'),(2,'c'),(3,'d');
    query OK, 4 rows affected (0.03 sec)
    Records: 4  Duplicates: 0  warnings: 0
    
    mysql> select * from proyectos;
    +-------------+-----------------+
    | id_proyecto | nombre_proyecto |
    +-------------+-----------------+
    |           1 | aaa             |
    |           2 | bbb             |
    |           3 | ccc             |
    +-------------+-----------------+
    3 rows in set (0.00 sec)
    
    mysql> select * from actividades_terminadas;
    +---------------+-------------+------------------------+
    | id_terminadas | id_proyecto | actividades_terminadas |
    +---------------+-------------+------------------------+
    |             1 |           1 | a                      |
    |             2 |           1 | b                      |
    |             3 |           2 | c                      |
    |             4 |           3 | d                      |
    +---------------+-------------+------------------------+
    4 rows in set (0.00 sec)
    
    mysql> delete from proyectos where id_proyecto = 1;
    query OK, 1 row affected (0.03 sec)
    
    mysql> select * from proyectos;
    +-------------+-----------------+
    | id_proyecto | nombre_proyecto |
    +-------------+-----------------+
    |           2 | bbb             |
    |           3 | ccc             |
    +-------------+-----------------+
    2 rows in set (0.00 sec)
    
    mysql> select * from actividades_terminadas;
    +---------------+-------------+------------------------+
    | id_terminadas | id_proyecto | actividades_terminadas |
    +---------------+-------------+------------------------+
    |             3 |           2 | c                      |
    |             4 |           3 | d                      |
    +---------------+-------------+------------------------+
    2 rows in set (0.00 sec)

  10. #10
    Utente di HTML.it
    Registrato dal
    Feb 2002
    residenza
    Cittį del Messico (Messico)
    Messaggi
    610
    lo so forse é un problema di php a questo punto non so...
    M.Solazzi
    from
    Mexico City!!

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 © 2025 vBulletin Solutions, Inc. All rights reserved.