Comment insérer deux tableaux différents dans une table avec l'instruction SQL INSERT INTO ?
P粉959676410
P粉959676410 2024-02-17 18:59:52
0
1
316

Cela fait si longtemps que je n'ai pas joué avec SQL que j'ai dû recommencer à l'utiliser lorsque j'ai créé mon propre jeu vidéo. J'utilise MySQL et je rencontre ici des problèmes complexes.

Ce sont mes deux tableaux ;

SET @myArrayofRaces = '"Dwarf", "Elf", "Halfling", "Human", "Dragonborn", "Gnome", "Half-Elf", "Half-Orc", "Tiefling"';
SET @myArrayofClasses = '"Barbarian", "Bard", "Cleric", "Druid", "Fighter", "Monk", "Paladin", "Ranger", "Rogue", "Sorcerer", "Warlock", "Wizard"';

Comme on peut le voir, j'ai 9 jeux et 12 cours. Je souhaite utiliser ces tableaux pour coder une instruction INSERT INTO afin de ne pas avoir à saisir 108 lignes manuellement.

Voici mon instruction INSERT INTO en cours d'exécution ;

INSERT INTO world_content.character_create_template (
        race,
        aspect,
        instance,
        pos_x,
        pos_y,
        pos_z,
        orientation,
        faction,
        autoAttack,
        race_icon,
        class_icon,
        race_description,
        class_description,
        isactive,
        respawnInstance,
        respawnPosX,
        respawnPosY,
        respawnPosZ,
        startingLevel,
        sprint 
    )
VALUES
    (
        437,
        428,
        29,
        - 170,
        74,
        154,
        0,
        1,
        - 1,
        "Assets/Resources/Assets/Icons/Race Icons/Dwarf.png",
        "Assets/Resources/Assets/Icons/Class Icons/Druid.png",
        "Dwarf",
        "Druid",
        1,
        29,
        - 170,
        74,
        154,
        1,
        - 1 
    )

Je dois boucler cette instruction INSERT INTO jusqu'à ce que j'aie complété les 108 combinaisons de courses et de classes. Par conséquent, les nains apparaîtront dans la base de données dans chaque catégorie. Ensuite, l'Elf sera inséré dans chaque classe de la base de données. Puis les halfelins, puis les humains, et ainsi de suite.

Le tableau classes va simplement dans class_description et class_icon et vous pouvez voir que je supprime le lien vers l'image. La course suivra également l'image race_icon.

Est-ce que quelqu'un sait comment parcourir l'ArrayofRaces 12 fois par course afin que je puisse facilement importer les catégories et les courses ?

Merci d'avance !

P粉959676410
P粉959676410

répondre à tous(1)
P粉505917590

Vous pouvez générer toutes les combinaisons à l'aide de jointures croisées. Par exemple :

INSERT INTO character_create_template (
        race,
        aspect,
        instance,
        pos_x,
        pos_y,
        pos_z,
        orientation,
        faction,
        autoAttack,
        race_icon,
        class_icon,
        race_description,
        class_description,
        isactive,
        respawnInstance,
        respawnPosX,
        respawnPosY,
        respawnPosZ,
        startingLevel,
        sprint 
    )
with
race as (
  select 'Dwarf' as name
  union all select 'Elf' -- repeat this line for more races
),
class as (
  select 'Barbarian' as name
  union all select 'Bard' -- repeat this line for more classes
)
select 
        437,
        428,
        29,
        - 170,
        74,
        154,
        0,
        1,
        - 1,
        "Assets/Resources/Assets/Icons/Race Icons/Dwarf.png",
        "Assets/Resources/Assets/Icons/Class Icons/Druid.png",
        r.name,
        c.name,
        1,
        29,
        - 170,
        74,
        154,
        1,
        - 1 
from race r
cross join class c

Voir l'exemple exécuté sur DB Fiddle.

REMARQUE : Cet exemple comprend deux courses et deux niveaux, ce qui donne un total de 4 combinaisons. Ajoutez le reste et la requête générera les 108.

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!