Categorie MySQL...
[MySQL] Sélectionner les éléments d’une table qui ne sont pas déjà dans une autre table
Si on a 2 tables, table1 et table2, et que l’on veut les éléments de table2 qui ne sont pas déjà dans table1 (en gros, avoir la différence entre ces 2 tables), voici comment faire:
SELECT table2.* FROM id WHERE id NOT IN ( SELECT id FROM table1 )
Dans notre exemple, on compare selon le champs id, c’est à dire qu’il va ressortir les enregistrements de table2 dont les id ne sont pas présents dans table1.
Par extension, si vous voulez mettre à jour table1 avec les éléments supplémentaires qui sont dans table2, voici comment faire:
INSERT INTO table1 SELECT table2.* FROM table2 WHERE id NOT IN ( SELECT id FROM table1 )
Mettre à jour un champs en Mysql (commande UPDATE)
C’est un peu le béaba de la base de données, mais je pense qu’il est toujours bon de garder la syntaxe exacte dans un coin. Voici donc un exemple de mise à jour de champs dans un table Mysql, avec la commande UPDATE:
UPDATE nom_table SET champs2='val2' WHERE champs1='val1'
Et pour mettre à jour plusieurs champs en même temps:
UPDATE nom_table SET champs2='val2',champs3='val3' WHERE champs1='val1'
MySQL: Un problème pour lire une base de données MySQL en UTF8?
Eh oui, ça peut arriver! Votre base de données est en UTF8, votre table est en UTF8, mais les données qui vous sont renvoyées lors d’une requête vous arrive en ISO, et bonjours les problèmes avec les accents… Pas de panique, Il y a une solution!
Entre la connexion à votre base et votre requête, il vous suffit de rajouter la ligne suivante pour forcer les données à vous arriver en UTF8:
SET NAMES 'utf8'