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

11. Set Unique Field - Нещо се омотах :)

В Workbench пуснах този код и се получи (поне така мисля), но в Judge не минава

ALTER TABLE users
DROP PRIMARY KEY;
ALTER TABLE users
ADD PRIMARY KEY (id);
ALTER TABLE users
MODIFY COLUMN username VARCHAR(30) UNIQUE;

В крайна сметка id ми е PRIMARY KEY, а username е UNIQUE, но Judge дава Compile time error  и

Incorrect table definition; there can be only one auto column and it must be defined as a key

 

0
Databases Basics - MySQL
TeodorStefanovPld avatar TeodorStefanovPld 1263 Точки

unique модифаера за колона в таблицата,няма нищо общо с primary key и това че тои е Uni 

ALTER TABLE  users
ADD UNIQUE (username);; ей това ти е напълно достатъчно. Нямам го условието че отдавна го карах курса,но горе долу това трябва да ти е достатъчно да добавиш Unique constraint, ако искаш го пусни условието или поне кажи от кое упражнение беше,да погледна ако има някакви условия които изпускам и да влият на кода.

0
Lazov avatar Lazov 0 Точки

Това е едно условие от няколко. В предишно правим две колони да са primary key (колона id и username ). Сега username вече не трябва да е primary key и да е UNIQUE. Второто го разбрах, ама първото нещо ми бяга :)

  1. Set Unique Field

Using SQL queries modify table users. Remove username field from the primary key so only the field id would be primary key. Now add unique constraint to the username field. The initial primary key name on (id, username) is pk_users. Submit your query in Judge as Run skeleton, run queries & check DB.

0
TeodorStefanovPld avatar TeodorStefanovPld 1263 Точки

ALTER TABLE `users`
DROP PRIMARY KEY,
ADD CONSTRAINT pk_id
PRIMARY KEY(id),
ADD CONSTRAINT uq_username
UNIQUE(username);

искат да се направи в една заявка затова ти чупи вероятно, но така минава,за всеки случай сложиш и уникални имена на ключа и unique constrain-а да не прави и там проблем.

1
26/09/2018 18:18:04
Lazov avatar Lazov 0 Точки

Благодаря! :)

0