2012-10-23 2 views
0

Salut, j'ai une table SQL comme ci-dessous;Suppression de données de colonne SQL spécifiques via PHP

-------------------------- 
col1 | col2 | col3 | col4| 
-------------------------- 
10 | 20 | 30 | 40 | 
15 | 22 | 12 | 21 | 
11 | 40 | 50 | 60 | 

et j'essaye de supprimer des données spécifiques de colonne de la table. Par exemple, je veux supprimer 50 et 60 dans les 3e et 4e colonnes respectives.

J'utilise le code suivant, mais il supprime la ligne entière qui contient également 11 et 40. Le code est le suivant. quelqu'un peut-il me dire comment modifier mon approche ci-dessous? Merci.

$result = mysqli_query($con,"DELETE FROM table1 WHERE col1 ='11'"); 
+0

Quelle est la condition qui détermine la ligne qui contient des données à supprimer? Comment savez-vous quelles colonnes seront supprimées? –

Répondre

2

Vous devez update la ligne, au lieu de delete, comme celui-ci,

$result = mysqli_query($con,"UPDATE table1 SET col3='', col4='' WHERE col1 ='11'"); 

REMARQUE:Update est utilisé pour modifier la valeur dans les colonnes spécifiques, en gardant la ligne intacte. Delete est pour la suppression/suppression de la ligne entière, de la table.

+0

Si j'utilise 'Mise à jour' et à un autre moment je veux supprimer 11 et 40 aussi qui est dans la même rangée, la 3ème rangée sera-t-elle toujours dans la table comme une ligne vide ?, qui consomme peut-être une certaine capacité du base de données? –

+0

Si vous souhaitez supprimer/supprimer/modifier une valeur dans une colonne spécifique, vous devez utiliser 'update'. Si à un moment différent, vous souhaitez supprimer la ligne entière (rendre toutes les colonnes vides), vous devez utiliser delete pour supprimer la ligne entière. –

3

Utilisez les commandes UPDATE pour définir la colonne sur null ou '' (vide). Le DELETE supprime une ligne entière.

$result = mysqli_query("UPDATE `table1` SET `col3`=NULL WHERE `col1`='11';"); 
Questions connexes