Oi, Bruno, tudo bem?
Quando você criou as tabelas anteriores, você criou primary keys na tabela que você queria relacionar, utilizou a key? Vou dar um exemplo de relacionamento de tabelas.
CREATE TABLE IF NOT EXISTS categoria(
id INTEGER NOT NULL AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(50) NOT NULL,
date TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
UNIQUE KEY (NAME)
E uma relação com essa tabela acima já criada:
CREATE TABLE IF NOT EXISTS livro(
id INTEGER NOT NULL AUTO_INCREMENT PRIMARY KEY,
categoria_id INTEGER NOT NULL,
autor_id INTEGER NOT NULL,
titulo VARCHAR(50) NOT NULL UNIQUE KEY,
edicao INTEGER UNSIGNED NOT NULL,
preco FLOAT UNSIGNED NOT NULL,
FOREIGN KEY (categoria_id) REFERENCES categoria(id),
FOREIGN KEY (autor_id) REFERENCES autor(id)
)
Dessa forma, com a foreign key de categoria
, será referenciada na outra tabela em que utilizo o campo nome
da tabela categoria
através da unique key (name)
.
Se ficou alguma dúvida, é só falar!