如何引用外键表引用另一个表?

时间:2016-07-04 10:24:23

标签: mysql sql-server database sql-server-2012

我有两个表二名表名称在此

1. TP_Users
2. TP_Roles

TP_Users有以下字段

Id (PK, int, not null)
UserName (nvarchar(50), null)
UserEmail (nvarchar(50), null)
DisplayName (nvarchar(50), null)
Password (nvarchar(50), null)
RoleId (FK, int, not null)
IsActive (bit, not null) ------>Foreign Key Reference 
ClientId (int, null)

TP_Roles有以下字段

Id  PK, int, not null
Role_Name   varchar(200), null
IsActive    bit, null

TP_Users父表列名RoleId其参考表TP_Roles列名id
如何建立关系以及链接两个表如何使用查询?

2 个答案:

答案 0 :(得分:1)

您可以在用户表格中添加forieng key constraint,如下所示

create table TP_Users
(
....., --- column list here
constraint FK_TP_Users_RoleId foreign key(RoleId) references TP_Roles(Id)
)

然后,通过在相关字段上使用简单的内部联接,您可以构建查询

select * 
from TP_Users
inner join TP_Roles on TP_Roles.Id = TP_Users.RoleId

答案 1 :(得分:0)

这里是 MySQL 数据库语言的示例,如何创建表和简单查询以加入它们。

 var mic, recorder, soundFile;  
        function setup(){
            mic = new p5.AudioIn(); 
            mic.start(); 
            recorder = new p5.SoundRecorder(); 
            recorder.setInput(mic); 
            soundFile = new p5.SoundFile(); 
        } 
        $("[name=btnRecord]").on("click",function(){ 
            recorder.record(soundFile);
            $("[name=btnRecord]").html("Recording...");
        }); 
        $("[name=btnStop]").on("click",function(){
            recorder.stop(); 
            $("[name=btnRecord]").html("Record"); 
        }); 
        $("[name=btnPlay]").on("click",function(){   
            soundFile.play();  
        }); 
        $("[name=btnDownload]").on("click",function(){ 
            saveSound(soundFile, 'mySound.wav'); 
        });
        $("[name=btnUpload]").on("click",function(){ 
            $.ajax({
                type: "POST",
                url:"upload.php",
                 data: {sound: soundFile},
                success: function(response){

                },
                dataType: "json"
              });  
        }); 

这是一个简单的查询,您可以在其中加入两个表:

CREATE TABLE TP_USERS (
  ID int(11) NOT NULL,
  USER_NAME varchar(50),
  ROL_ID int(11) NOT NULL,
  PRIMARY KEY (ID),
  CONSTRAINT `FK_roles` FOREIGN KEY (`ROL_ID`) REFERENCES `TP_ROLES` (`ID`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;



CREATE TABLE TP_ROLES (
   ID int(11) NOT NULL,
   ROL_NAME varchar(50),
   IS_ACTIVE tinyint(1) NOT NULL DEFAULT '1',
   PRIMARY KEY (ID)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;