2017-10-03 2 views
0

J'ai deux tables différentes tbl_address et tbl_support. Je veux choisir address, postcod e de tbl_support et insert en en tbl_address et que vous voulez updateaddress_id dans tbl_support avec le dernier inséré id. Comment écrire une requêteMysql sélectionnez enregistrement d'une table et ajouter dans le tableau 2, mettre à jour le dernier inséré ID dans table1

tbl_address = id, address, postcode, country. 
tbl_support = id, address_id ,name, address,postcode, 

Répondre

0

si votre champ id de la colonne dans la table adresse autoincrement essayez ceci:

insert into tbl_address select address, postcode from tbl_support; 

alors vous pouvez mettre à jour tbl_support si l'adresse et le code postal sont ensemble unique.

update tbl_support s set s.address_id=(select id from tbl_address a where 
a.address=s.address and a.postcode = s.postcode) 
0

vous devez exécuter deux requêtes distinctes. d'abord vous insérez tout l'enregistrement tbl_support dans la table tbl_address. ensuite vous devez exécuter une deuxième requête où vous mettez à jour address_id via une adresse tbl_address, un code postal et une adresse de tbl_support, comme ci-dessous la requête.

INSERT INTO tbl_address ( 
     address, 
     postcode) 
SELECT address, 
     postcode 
FROM `tbl_support`; 

UPDATE `tbl_support` SET address_id = (SELECT id FROM `tbl_address` 
WHERE tbl_support.address= tbl_address.address 
AND tbl_support.postcode= tbl_address.postcode)