Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > MySQL > Не создает таблицу


Автор: Neox_GeForce 27.6.2009, 16:50
Всем привет. Делаю БД "Экологическое состояние водоемов"

вот мой сиквел

Код

CREATE DATABASE Water CHARACTER SET utf8;

USE Water;

CREATE TABLE area (
IDarea INT(6) UNSIGNED NOT NULL AUTO_INCREMENT,
title varchar(25) NOT NULL,
PRIMARY KEY (IDarea)
)ENGINE=innoDB DEFAULT CHARSET=utf8;

CREATE TABLE region (
IDregion INT(6) UNSIGNED NOT NULL AUTO_INCREMENT,
Title varchar(25) NOT NULL,
IDarea INT(6) UNSIGNED NOT NULL,
PRIMARY KEY (IDregion),
FOREIGN KEY (IDarea)  REFERENCES area(IDarea)
ON DELETE CASCADE
ON UPDATE CASCADE
) ENGINE=innoDB DEFAULT CHARSET=utf8;

CREATE TABLE town (
IDtown INT(6) UNSIGNED NOT NULL AUTO_INCREMENT,
IDregion INT(6) UNSIGNED NOT NULL,
PRIMARY KEY (IDtown),
FOREIGN KEY (IDregion) REFERENCES region(IDregion)
ON DELETE CASCADE
ON UPDATE CASCADE
) ENGINE=INNODB DEFAULT CHARSET=utf8;

CREATE TABLE type (
IDtype INT(6) UNSIGNED NOT NULL AUTO_INCREMENT,
type varchar(25) NOT NULL,
PRIMARY KEY (IDtype)
)ENGINE=innoDB DEFAULT CHARSET=utf8;

CREATE TABLE substance (
IDsubstance INT(6) UNSIGNED NOT NULL AUTO_INCREMENT,
substance varchar(25) NOT NULL,
limit FLOAT NOT NULL,
PRIMARY KEY (IDsubstance)
)ENGINE=innoDB DEFAULT CHARSET=utf8;

CREATE TABLE water (
IDwater INT(6) NOT NULL AUTO_INCREMENT,
title varchar(50) NOT NULL,
description TEXT NOT NULL,
IDtype INT(6) NOT NULL,
IDtown INT(6) NOT NULL,
square_w FLOAT(12,3) NOT NULL,
PRIMARY KEY (IDwater),
FOREIGN KEY (IDtype) REFERENCES type(IDtype)
ON DELETE CASCADE
ON UPDATE CASCADE,
FOREIGN KEY (IDtown) REFERENCES town(IDtown)
ON DELETE CASCADE
ON UPDATE CASCADE 
)ENGINE=innoDB DEFAULT CHARSET=utf8;

CREATE TABLE concentration (
IDwater INT(6) NOT NULL,
IDsubstance INT(6) NOT NULL,
concentration FLOAT NOT NULL,
PRIMARY KEY (IDwater),
FOREIGN KEY (IDwater) REFERENCES water(IDwater)
ON DELETE CASCADE
ON UPDATE CASCADE
)ENGINE=innoDB DEFAULT CHARSET=utf8;


Не хочет создавать поле limit таблицы substance 

вот ошибка
Код

ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that
corresponds to your MySQL server version for the right syntax to use near 'limit
 FLOAT(6,3) NOT NULL,
PRIMARY KEY (IDsubstance)
)ENGINE=innoDB DEFAULT CHAR' at line 4
ERROR 1005 (HY000): Can't create table 'water.water' (errno: 150)
ERROR 1005 (HY000): Can't create table 'water.concentration' (errno: 150)


Помогите плиз.

Автор: Neox_GeForce 27.6.2009, 17:31
решил. Типы не совпадали.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)