Instruction SQL INSERT pour les DEUX TABLES en même temps avec INNER JOIN
J'ai deux tables hello
et login_table
et ci-dessous, c'est leur structure
user_info
-------
some_id | name | address
login_table
-------
id | username | password
some_id
et id
sont autoincrement index.
Maintenant, comment puis-je utiliser INSERT
déclaration avec INNER JOIN
dans SQL
à l'heure actuelle, je veux ajouter ci-dessous les données avec le même some_id
et id
`name` = John
`address` = wall street
`username` = john123
`password` = passw123
ci-dessous montre le code, ce que j'ai essayé jusqu'à présent.
insert into login_table lt
INNER JOIN user_info ui ON ui.some_id = lt.id
(ui.name, ui.address, lt.username, lt.password)
values
('John', 'wall street', 'john123', 'passw123')
Et ce n'est pas une valeur, je veux ajouter plus d'une valeur à un moment.. comment puis-je obtenir.
merci pour l'aide.
Je ne pense pas que c'est possible, vous aurez besoin de deux états
Aussi stackoverflow.com/a/1382849/632951
Aussi stackoverflow.com/a/1382849/632951
OriginalL'auteur Rafee | 2012-05-16
Vous devez vous connecter pour publier un commentaire.
Si vous devez effectuer les deux
INSERT
opérations de façon atomique, l'utilisation d'une transaction:N. B. Votre moteur de stockage doit prendre en charge les transactions pour que cela fonctionne (par exemple,
InnoDB
).Pour insérer plusieurs valeurs dans une table à la fois, utilisez les multiples lignes de la forme de
INSERT
. Comme indiqué dans le manuel:id
ie.. dans les deux table..id
's sont incrément automatique.. j'ai essayé et testé, mais sa ne fonctionne pas...en outre, vous pouvez utiliser le LAST_INSERT_ID() lorsque vous avez besoin d'avoir le même id dans les deux tables dans le cas où un id auto-généré. INSERT INTO foo (auto,texte) VALUES(NULL,'texte'); INSERT INTO bar (id,texte) VALUES(LAST_INSERT_ID(),'text');
comment utiliser l'Instruction Préparée avec cette requête ??
OriginalL'auteur eggyal
Insérer à deux tables est impossible. La deuxième partie de votre question, c'est possible: vous pouvez insérer plusieurs lignes dans un tableau comme ceci:
OriginalL'auteur Adrian Serafin