Софтуерно Инженерство
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
k.sevov avatar k.sevov 1071 Точки

За този тест махни unique от drivers_license_number - няма логика, но в тестовете явно му подават повтарящи се стойности там. Иначе тук unique го дадох просто като пример за индекс, че ще ти мине заявката, не че има особено много логика да е така откъм предназначение на колоната.

1
lapd87 avatar lapd87 101 Точки

аз ли нещо бъркам... махнах UNIQUE от driver_license и пак ми гърми

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

Имаш грешка в изписването на `driver_license_number` и като се опитва да и подаде стойности теста не я разпознава.

1
02/02/2018 11:19:53
lapd87 avatar lapd87 101 Точки

Нещо пак не става!?

Тества ли го? Сигурно няква глупост има пак... иначе имах 2 правописни грешки там но ги оправих...

пускам пак кода че нз вече къде кво промених...

https://pastebin.com/T9q094KS

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

Ох, оказа се, че и аз имам правописна горе... licence искат да е вместо license, по British модела. Мина си 100/100 сега (то и преди малко, де, но не го копнах, ами го написах тук просто). 

1
lapd87 avatar lapd87 101 Точки

РАЗГЕЛЕ!!

то май да не знаеш английски и да преписваш бабешката по-добре :D

щеше да е добре да се прави някакъв чек на правописа и да дава такава грешка ама в крайна сметка аз съм си виновен!

Благодарско!

 

Ако имаш време погледни и другата тема за хотела :)

0
02/02/2018 12:25:24