Титла: MySQL и машина InnoDB
Публикувано от: b2l в Nov 21, 2009, 13:15
GeSHi (SQL): mysql> SHOW CREATE TABLE Models\G; *************************** 1. row *************************** TABLE: Models CREATE TABLE: CREATE TABLE `Models` ( `model_id` int(11) NOT NULL AUTO_INCREMENT, `model_name` varchar(200) DEFAULT NULL, `make_id` int(11) DEFAULT NULL, PRIMARY KEY (`model_id`) ) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=latin1
GeSHi (SQL): mysql> SHOW CREATE TABLE New_Vehicles\G; *************************** 1. row *************************** TABLE: New_Vehicles CREATE TABLE: CREATE TABLE `New_Vehicles` ( `vehicle_id` int(11) NOT NULL AUTO_INCREMENT, `model_id` int(11) DEFAULT NULL, `modelyear` int(11) DEFAULT NULL, `price` decimal(10,2) DEFAULT NULL, `color` varchar(200) DEFAULT NULL, `description` text, PRIMARY KEY (`vehicle_id`) ) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=latin1
GeSHi (SQL): mysql> ALTER TABLE New_Vehicles ADD CONSTRAINT refmdl FOREIGN KEY (vehicle_id) REFERENCES Model (model_id); ERROR 1005 (HY000): Can't create table './VehicleInventory/#sql-c7e_3.frm' (errno: 150)
Някакви предложения? //Накрая ще си запаля печката с тази книга.//
Титла: Re: MySQL и машина InnoDB
Публикувано от: Shmirgel в Nov 21, 2009, 14:22
Здравей backtolife,
Проблема е в неправилното изписване на името на таблицата в частта REFERENCES. Създал си таблица Models, а в командата ALTER си я изписал само Model. Взех твоя код и го приложих при мен като промених "Model" на "Models" и нямаше съобщение за грешка.
Успех
Титла: Re: MySQL и машина InnoDB
Публикувано от: b2l в Nov 21, 2009, 14:29
Абе гледах ги буква по буква, но това май не съм го видял:) Мерси :)
Титла: Re: MySQL и машина InnoDB
Публикувано от: Shmirgel в Nov 21, 2009, 14:38
За нищо, радвам се, че помогнах.
|