2010-03-04 3 views
2

Parfois, les données que nous vendons ont le même titre et la même description que nous avons dans la base de données. Nous ne souhaitons pas stocker de données si le titre et la description des données entrantes sont les mêmes que le titre et la description des données déjà stockées. Comment ferions-nous cela?Mysql problème pour ne stocker que des données différentes

Répondre

1

Créez un index unique à partir du titre et de la description.

2

Hey. Marquez les colonnes qui les détiennent UNIQUE

CREATE TABLE `myData` (
    id serial primary key, 
    title varchar(255) unique, 
    description varchar(255) unique 
); 

Si vous voulez qu'il dépend les deux colonnes (titre qui signifie peut être la même que celle d'une autre ligne, tant que la description est différente de cette ligne), vous pouvez Pour ce faire:

CREATE TABLE `myData` (
    id serial primary key, 
    title varchar(255) not null, 
    description varchar(255) not null, 
    UNIQUE (title, description) 
); 
+3

Je ne suis pas trop sûr, mais cela ne signifie-t-il pas que vous ne pouvez pas stocker des titres similaires même lorsque les descriptions sont différentes – Riho

+0

@Riho Bon point. J'ai ajouté un deuxième exemple qui permettrait cela. – Atli

1

Effectuez un SELECT sur le titre et la description pour déterminer s'ils existent déjà. Si c'est le cas, affichez les messages d'erreur appropriés. Si ce n'est pas le cas, exécutez INSERT.

Édition: Notez que cela se concentre sur la logique de l'application. Les autres réponses traitent également de l'application de la base de données de cette politique. Les deux vont de pair.

Questions connexes