Click here to Skip to main content
15,890,512 members
Please Sign up or sign in to vote.
1.00/5 (1 vote)
See more:
CREATE TABLE users (id INT UNSIGNED NOT NULL AUTO_INCREMENT, ign VARCHAR(100), email VARCHAR(255) NOT NULL, password VARCHAR(100) NOT NULL, created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, PRIMARY KEY (id));

CREATE TABLE items(id INT UNSIGNED NOT NULL AUTO_INCREMENT,name VARCHAR(255) NOT NULL, created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, PRIMARY KEY (id), KEY fk_purchase_id (purchase_id));

CREATE TABLE transaction (id INT UNSIGNED NOT NULL AUTO_INCREMENT, created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, PRIMARY KEY (id), KEY fk_user_id (user_id), KEY fk_item_id (item_id));

CREATE TABLE purchase (id INT UNSIGNED NOT NULL AUTO_INCREMENT, price FLOAT NOT NULL DEFAULT 0, created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, PRIMARY KEY (id));

What I have tried:

CREATE TABLE users (id INT UNSIGNED NOT NULL AUTO_INCREMENT, ign VARCHAR(100), email VARCHAR(255) NOT NULL, password VARCHAR(100) NOT NULL, created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, PRIMARY KEY (id));

CREATE TABLE items(id INT UNSIGNED NOT NULL AUTO_INCREMENT,name VARCHAR(255) NOT NULL, created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, PRIMARY KEY (id), KEY fk_purchase_id (purchase_id));

CREATE TABLE transaction (id INT UNSIGNED NOT NULL AUTO_INCREMENT, created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, PRIMARY KEY (id), KEY fk_user_id (user_id), KEY fk_item_id (item_id));

CREATE TABLE purchase (id INT UNSIGNED NOT NULL AUTO_INCREMENT, price FLOAT NOT NULL DEFAULT 0, created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, PRIMARY KEY (id));
Posted
Updated 4-Apr-22 16:13pm

1 solution

Change the sequence of your query and try the following:
SQL
CREATE TABLE users (id INT UNSIGNED NOT NULL AUTO_INCREMENT, ign VARCHAR(100), email VARCHAR(255) NOT NULL, password VARCHAR(100) NOT NULL, created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, PRIMARY KEY (id));

CREATE TABLE purchase (id INT UNSIGNED NOT NULL AUTO_INCREMENT, price FLOAT NOT NULL DEFAULT 0, created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, PRIMARY KEY (id));

CREATE TABLE items(id INT UNSIGNED NOT NULL AUTO_INCREMENT,name VARCHAR(255) NOT NULL, created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, PRIMARY KEY (id), FOREIGN KEY fk_purchase_id (id) REFERENCES purchase(id));

CREATE TABLE transaction (id INT UNSIGNED NOT NULL AUTO_INCREMENT, created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, PRIMARY KEY (id), FOREIGN KEY fk_item_id (id) REFERENCES users(id));
 
Share this answer
 

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900