Простое начинание Sql

У меня есть таблица с именем USERS с user_id качестве первичного ключа и user_name .

У меня есть другая таблица USERS_ACT с user_act_id первичного ключа user_act_user_id , user_act_user_id и еще 2 столбца.

Мне нужно, чтобы user_act_user_id был внешним ключом в USERS ? Как я могу это достичь?

Это мой первый день в SQL, поэтому, пожалуйста, будьте любезны, чтобы объяснить, правильно ли я спрашиваю.

давайте предположим, что вы не администратор базы данных, и вы просто хотите получить все имена активных пользователей;))

 select users.user_name from users join users_act on users.user_id = users_act.user_act_user_id 

Без референциальной целостности вам решать, как работать, нет «волшебства» вокруг него.

Заполните свой user_act_user_id значением pk от ПОЛЬЗОВАТЕЛЕЙ, и у вас оно есть.

Вы можете добавить ограничения, но это может быть не то, о чем вы просите, http://msdn.microsoft.com/en-us/library/ms175464.aspx

Короче говоря, они сохраняют ключи между столами в хорошей форме.

Предполагая, что вы используете InnoDB (который является единственным движком, поддерживающим внешние ключи):

 ALTER TABLE users_act ADD CONSTRAINT fk_users_act_users FOREIGN KEY (user_act_user_id) REFERENCES users (user_id); 

Это зависит от вашего типа DB, если MySql поддерживает внешние ключи. Например, вы можете использовать внешние ключи с форматом InnoDB, но не в формате MyIsam. При работе с MySql я лично предпочитаю работать с MyIsam и выполнять большую часть проверки целостности во время программирования. В общем, вы можете просто добавить user_act_user_id в свою таблицу USERS, но не пометить его как любой ключ. После этого вы можете просто использовать JOIN, но, поскольку референциальная целостность не указана, вам нужно написать свой собственный «триггер» на сайте программирования, если вы хотите, чтобы fe автоматически удалял данные, принадлежащие пользователю в другой таблице. В противном случае вам придется использовать ограничения или триггеры, но это может быть не так просто, когда вы только начали с SQL.