I am having trouble establishing foreign keys for a database I am creating. The code seems to run, but when I query the table it does not return what I thought was the foreign key.
Here is what I am working with:
This is a small snippet of my "Crafting" table:
idCrafting    Crafting_Recipe       Item1            ITEM1_ID
1             Copper_Bar            Copper_Ore       NULL       
2             Gold_Bar              Gold_Ore         NULL
Here is the Items table I am working with:
Item_id     Item_Name
1           Battery_Pack
2           Clay
3           Coal
4           Copper_Ore
5           Copper_Bar
This is how I am trying to create a foreign key. The Crafting table has three Items, represented by Item1, Item2, and Item3, and columns for ITEM1_ID, ITEM2_ID, and ITEM3_ID. I want to create foreign keys that will populate the ITEM_ID columns with the appropriate ITEM_ids from the Items table.
ALTER TABLE StardewValley.Crafting
    ADD CONSTRAINT Item1_fk_Crafting
    FOREIGN KEY (ITEM1_ID) REFERENCES Items (Item_id);
This is how I created the original Crafting table:
CREATE TABLE IF NOT EXISTS StardewValley.Crafting (
  idCrafting INT NOT NULL AUTO_INCREMENT,
  Crafting_Recipe VARCHAR(45) NOT NULL,
  Item1 VARCHAR(45) NULL,
  Item2 VARCHAR(45) NULL,
  Item3 VARCHAR(45) NULL,
  PRIMARY KEY (`idCrafting`));
I have several other tables that use primary keys from several tables and I can not get it to work properly. I have been struggling to get this one to work which only references one other table.
Thanks!
edit:
I forgot to add that I tried adding Item ids to the Crafting table as well:
ALTER TABLE StardewValley.Crafting ADD ITEM1_ID INT;
ALTER TABLE StardewValley.Crafting ADD ITEM2_ID INT;
ALTER TABLE StardewValley.Crafting ADD ITEM3_ID INT;
ALTER TABLE StardewValley.Crafting ADD Item_id INT;
Which did not seem to do anything.