2012-11-27 2 views
0

J'ai besoin de mettre à jour 3 champs dans une table de base de données mySQL par programme. Je dois mettre à jour label_id, label & company_idRequête SQL pour mettre à jour le champ

Ce que je besoin est une requête SQL qui me permet d'indiquer ce que le company_id est et les champs « étiquette », puis l'ont générer automatiquement l'étiquette ids.

Par exemple, créez label="test", company_id="17" ...... et générez-le automatiquement le label_id. Des idées sur une requête SQL pour le faire? exemple, le tableau de la structure:

label_id  label  company_id 
1    Cook  8 
2    Chef  8 
3    Driver  9 
+0

'UPDATE yourtable SET champ = valeur, champ = valeur WHERE champ = valeur'? –

+0

Merci. Mais comment saura-t-il créer les valeurs label_id? – firecasey

+1

Peut-être utiliser un déclencheur sur insert. Une fois que les deux premières valeurs sont insérées, vous pouvez générer et insérer le company_id, éventuellement basé sur les deux premières valeurs: Cook 8 Cook_8 (ou Cook8, C8, etc.). – N1tr0

Répondre

2

Si vous besoin de l'label_id à générer automatiquement, il semble que vous parlez d'un INSERT plutôt que d'une réelle UPDATE

INSERT INTO table_name(label, company_id) VALUES ("Company", 5)

Cela nécessiterait votre table à créer, telle que:

CREATE table_name (label_id int PRIMARY KEY AUTO_INCREMENT, label VARCHAR(255), company_id INT) 
+0

D'accord avec Rawkode. En outre, votre valeur company_id doit être une clé étrangère liée à la clé primaire de la table Company. – N1tr0

Questions connexes