Софтуерно Инженерство
Loading...
+ Нов въпрос
lapd87 avatar lapd87 101 Точки

[Homework] Data Definition and Data Types - 13. Problem - Car Rental

Нещо ми пречи да създам FK на car_condition, но не разбирам какво. Пробвах всичко за което се сетих и все ми дава грешки базата...

https://pastebin.com/Mbv9V5ex

до тук работи но това не...

    ADD CONSTRAINT `FK_orders_carsCOND`
    FOREIGN KEY (`car_condition`) REFERENCES `cars`(`car_condition`);

Тагове:
0
Databases Basics - MySQL
k.sevov avatar k.sevov 1071 Точки

Може ли грешката? Иначе като гледам би трябвало да ти дава грешки при Insert-a накрая, тъй като не подаваш нищо за category_id, а си го сложил Not Null. 

0
lapd87 avatar lapd87 101 Точки

защото после пробвах различни работи и не съм го довършил, но ще го оправя NULL или не.

 

SQL error (1005): Can't create table `car_rental`.`#sql-2450_6`(errno:150 "Foreign key constraint is incorrectly formed")

 

но съм получавал при опитите и други като 1064 и 1072 ако не бъркам...

0
k.sevov avatar k.sevov 1071 Точки

Иска колоната в другата таблица, към която ти е foreign key да е индексирана, в този случай примерно можеш да си я направиш unique и ще станат нещата. 

1
lapd87 avatar lapd87 101 Точки

кое да е UNIQUE? car_condition няма логика да е ... аз даже мислех да го правя ENUM, но пак не ми се получава...

явно иска да е индексирано наистина за FK

VARCHAR(50) DEFAULT 0 минава на 83/100 гърми 4 тест...

Ако можеш помогни с това.

 

0
dzhingarova avatar dzhingarova 15 Точки

Здрасти,

Пак си усложняваш допълнително живота с тези FOREIGN KEYS :) не се искат в условието - не се затормозявай.

Иначе - ENUM формата на `available` - не беше ок като слагаш 1 и 2 - остави си ги в insert-a пак да са "true"/"false"....

И накрая - не беше довършил в таблица `rental_orders`  - трябваше да си допишеш `car_condition`, след като в условието си го задал NOT NULL.

Виж твоя код с корекциите, за които ти споменах.... макар че минава с 83/100:

https://pastebin.com/53Z9ksPe

 

И моят код ти давам - той е 100/100.... но честно казано хич не ми се взира да видя къде се разминаваме :) Оставям на теб!

https://pastebin.com/mUZcTcrc

Поздрави

 

 

1
lapd87 avatar lapd87 101 Точки

да след предната задача се усетих за FK че може да не ги ползвам и тук, но по-важното е какво не му харесва на този ред, защото другите минават...

0