CREATE TABLE payment_types ( id int primary key auto_increment, name blob not null unique ) type = InnoDB; -- Because InnoDB doesn't suck CREATE TABLE order ( -- or whatever you call it id int primary key auto_increment, pay_type int not null, -- other columns FOREIGN KEY (pay_type) REFERENCES payment_type (id) ON DELETE RESTRICT ) type = InnoDB; -- Example insert INSERT INTO order (pay_type) VALUES ( (SELECT id FROM payment_type WHERE name = 'VISA') )