How to handle id's referring to multiple tables in an SQL database
Don't "over-normalize".

The table stats, items, and skills are just normalizations of short, unique, names.  Consider just having the names in the other tables.

Or...  have just one table for id&lt;->name mapping, perhaps with an ENUM to say which of stat/item/skill/etc it is.

Based on your Schema, what queries will you be performing?  Do you ever need to 'start' with action_influence?  Or is it just some extra info to enter and later display?  If the latter, consider putting that into a JSON string of all the reqs, influences, etc that are associated with an action.  Then have that JSON string in the actions table.  If you use MySQL 5.7 or MariaDB 10, there are even tools for having SQL reach into the JSON, but try to avoid that.