few things
I dont like to use spaces in field names, cause.... I don't like to use quotes when querying the tables and specifying field names. So honestly to make things easier I would probably use _ instead of spaces, but that's just personal preference.
Everything looks pretty good except your closing statements (before specifying the engine)
calendar table is fine
booking table needed beginnning '(' and ending ')'
same thing with booking price, also had an extra ',' after primary key specification
booking picture needed ',' taking away after primary key declaration and also the closing ')'
The sql code specified below should be accurate.
again, the spaces might cause some issues, i'm not sure though because I've always steered clear of them.
Code:
###############
Calendar table
###############
create table calendar
(date datetime,
colour varchar(10) not null,
notes varchar(140) not null,
primary key (date))
engine = innodb;
###############
Booking table
###############
create table booking (
booking code not null auto_increment,
date datetime,
price code varchar(10) not null,
booking name varchar(15) not null,
booking cost varchar(10)not null,
primary key (booking code),
foreign key (date) references calendar(date),
foreign key (price code) references price(price code)
)
engine = innodb;
###############
Booking price
###############
create table price (
price code not null auto_increment,
price cost varchar(10) not null,
price description varchar(50) not null,
primary key (price code)
)
engine = innodb;
###############
Booking picture
###############
create table gallery
(picture code not null auto_increment,
picture name varchar(10) not null,
picture description varchar(50) not null,
primary key (picture code)
)
engine = innodb;