cancellare i dati se non sono in relazione

neo996sps

Utente Attivo
31 Mag 2007
247
0
0
Trentino
Ciao a tutti,

ho un DB MySQL con due tabelle, da cui prelevo i dati in relazione tramite JOIN. Ora, vorrei far si che dalla tabella A non si possano cancellare i dati fintanto che nella tabella B ci sono degli elementi ad essa legati. Mi spiego meglio:

- ho un record composto da ID e nome nella tabella A
- ho un record composto da ID e file nella tabella B

io vorrei far si che se devo cancellare un record contenuto in A, non sia possibile se c'è una relazione verso B.

Come posso fare?
 

neo996sps

Utente Attivo
31 Mag 2007
247
0
0
Trentino
scusa, mancanza mia. Oltretutto ho apportato molte modifiche: Questa è la tabella documenti:

Codice:
CREATE TABLE IF NOT EXISTS `documenti` (
  `id` int(50) NOT NULL auto_increment,
  `titolo` varchar(255) NOT NULL,
  `categoria` int(3) NOT NULL,
  `allegato` varchar(255) NOT NULL,
  `archivia` int(1) NOT NULL default '0',
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;

questa è la tabella categoria_documenti:

Codice:
CREATE TABLE IF NOT EXISTS `categoria_documenti` (
  `id` int(11) NOT NULL auto_increment,
  `nome` varchar(255) NOT NULL,
  `logo` varchar(255) NOT NULL,
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=4 ;

Questo è il codice della pagina PHP dove vado ad estrarre i documenti in base alla tabella categoria_documenti

PHP:
$res2 = mysql_query("
  SELECT documenti.id AS did, documenti.categoria, documenti.titolo, documenti.allegato, 
  categoria_documenti.id, categoria_documenti.nome, categoria_documenti.logo 
  FROM documenti, categoria_documenti 
  WHERE documenti.categoria = categoria_documenti.id 
  ORDER BY documenti.id desc;" );

Io voglio far si che dalla tabella categoria_documenti non si possa eliminare un record se questo è in relazione con un record contenuto nella tabella documenti.
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
immagino che la relazione sia tra
documenti.categoria <-> categoria_documenti.id
se è così quando decidi di eliminare una categoria_documenti ne prelevi l'id
poi fai una query su documenti where categoria=id, poi puoi utilizzare mysql_num_rows

if m_n_r > 0 non puoi eliminare
else sì
 

satifal

Utente Attivo
25 Set 2008
522
13
0
Roma
...
Io voglio far si che dalla tabella categoria_documenti non si possa eliminare un record se questo è in relazione con un record contenuto nella tabella documenti.

Se dai un'occhiata al link che ti ho postato vedrai come eseguire una CREATE o un'ALTRE TABLE con le restrizioni di cui hai bisogno.
 
Discussioni simili
Autore Titolo Forum Risposte Data
S aiuto non so cancellare i dati: PHP 1
filippino Come cancellare dati da un database MySQL? Database 1
O Cancellare dati da una tabella mysql in modo automatico PHP 2
G cancellare dati dal database se passata un ora dall'inserimento MySQL 3
Eugene Cancellare dati form PHP 4
G [MS Access] Cancellare i dati da una maschera MS Access 11
matteoraggi Come cancellare le colonne di wordpress WordPress 0
P Mysql lento a cancellare MySQL 1
Cosina Cancellare una specifica email da un elenco in un file txt PHP 3
S Cancellare una riga MYSQL PHP 1
G Con Microsoft Outlook 2016 come si possono cancellare le mail doppie? Posta Elettronica 0
Cosina [PHP] Cancellare una riga da un file di testo in base al nome PHP 2
Cosina [PHP] Cancellare una riga da un file txt in base alla data PHP 1
L conferma prima di cancellare con javascript e php PHP 16
H cancellare avatar in codice PHP PHP 2
M [PHP] Cancellare singolo file da cartella su server PHP 3
A [PHP] Cancellare riga database a scelta dell'utente PHP 2
trattorino [PHP] sql aggiungere dato in una tabella senza cancellare contenuto PHP 6
C Cancellare un elemento del DOM jQuery 4
D [PHP] CANCELLARE MAILPLAN PHP 2
Trapano [PHP] Cancellare file da una cartella.... PHP 5
ste80 [PHP] cancellare/aggiornare record DB PHP 24
K [PHP] Cancellare e Stampare tabella PHP 3
felino [PHP] Cancellare directory con file al suo interno PHP 2
A Cancellare righe vuote in mysql Database 4
L Cancellare web site Weebly CMS (Content Management System) 0
G Pagina facebook da cancellare Social Media Marketing 4
JackIlPazzo Sostituire una riga specifica in un file di testo senza cancellare il rimanente PHP 13
M Cancellare record a tempo con formato data mktime PHP 7
E cancellare immagini che non sono nel db mysql PHP 1
max_400 Cancellare le prime 3 righe di un file PHP 4
voldemort Cancellare un file con 0 byte Java 1
A Cancellare record su più tabelle con PHP PHP 27
IImanuII Cancellare righe doppie e ciclo. PHP 2
K Help cancellare manualmente plugin WordPress 2
A cancellare TUTTI i cookies PHP 2
D Cancellare una Stringa di testo da un file txt PHP 8
M cancellare una immagine dal database PHP 3
F 2 Div uniti, cancellare bordo. HTML e CSS 1
ivarello Cancellare parole dopo ";" PHP 4
M cancellare del testo in sql PHP 1
C cancellare un elemento in un array memorizzato in una sessione PHP 12
F Devo cancellare un sito web su Google SEO e Posizionamento 2
D Non riesco a cancellare un href >.< Javascript 6
IImanuII Cancellare una cartella piena PHP 14
valient13 aprire un alert per cancellare Javascript 1
D Come cancellare Internet Explorer 8? Windows e Software 2
M Cancellare tutti i caratteri fra due caratteri PHP 6
L Come faccio a cancellare un account di posta su Apple Mail? Posta Elettronica 1
Web Designer Come cancellare file bloccati sul desktop Windows e Software 0

Discussioni simili