C# 如何基于另一个表的ID(作为外键)插入到一个表中?
我正在尝试在c游戏中创建一些角色。我有两个表,tbl_user处理用户信息,tbl_player是他们的角色。这些表格如下所示: 表1:C# 如何基于另一个表的ID(作为外键)插入到一个表中?,c#,mysql,winforms,sql-update,ddl,C#,Mysql,Winforms,Sql Update,Ddl,我正在尝试在c游戏中创建一些角色。我有两个表,tbl_user处理用户信息,tbl_player是他们的角色。这些表格如下所示: 表1: CREATE TABLE `tbl_user` ( `userID` INTEGER NOT NULL AUTO_INCREMENT, `username` VARCHAR(50) NOT NULL, `user_password` VARCHAR(20) NOT NULL, `user_email` VARCHAR(20) N
CREATE TABLE `tbl_user` (
`userID` INTEGER NOT NULL AUTO_INCREMENT,
`username` VARCHAR(50) NOT NULL,
`user_password` VARCHAR(20) NOT NULL,
`user_email` VARCHAR(20) NOT NULL,
`user_loginStatus` tinyint(1) default false NOT NULL,
`user_loginAttempts` INTEGER DEFAULT 0 NOT NULL,
`user_accountStatus` tinyint(1) NOT NULL,
`user_isAdmin` tinyint(1) default false NOT NULL,
PRIMARY KEY (`userID`)
);
表2:
CREATE TABLE `tbl_player` (
`playerID` INTEGER NOT NULL AUTO_INCREMENT,
`player_score` INTEGER DEFAULT 0 NOT NULL,
`Character` VARCHAR(20) default null,
`gameID` INTEGER default null,
`tileID` INTEGER default null,
`userID` INTEGER NOT NULL,
PRIMARY KEY (`playerID`),
FOREIGN KEY (`gameID`) REFERENCES `tbl_game`(`gameID`) ON DELETE CASCADE ,
FOREIGN KEY (`tileID`) REFERENCES `tbl_tile`(`tileID`) ON DELETE CASCADE ,
FOREIGN KEY (`userID`) REFERENCES `tbl_user`(`userID`) ON DELETE CASCADE
);
我想根据用户表中的用户名插入播放器详细信息,即字符、tileID和userID。当我执行内部联接时,这是我从这个ddl脚本得到的结果:
SELECT * FROM tbl_player INNER JOIN tbl_user ON tbl_player.userID = tbl_user.userID;
有没有一种方法可以让我从tbl_user中选择username,并根据匹配的ID和匹配该ID的用户名在tbl_player中设置值?我尝试过这个,但我认为它在MySQL中不起作用,或者语法错误:
UPDATE tbl_player SET gameID = 1, tileID =0, `Character` = "Wizard" FROM tbl_player INNER JOIN tbl_user ON tbl_player.userID = tbl_user.userID WHERE username = "example",
您希望在tbl_玩家表中设置哪些值?硬编码的是这样的:gameID=1,tileID=0,Character=Wizard还是?是的,当用户创建一个角色时,这三个角色会在一个字段中输入用户名,这就是我想要连接两个表的方式,而不是在他们的IDI上进行连接。这可能吗@您是否使用MySQL或Microsoft SQL Server?MySQL不支持更新。。。据我所知,从你使用的语法来看。您需要使用类似于更新tbl\u player p JOIN tbl\u user u ON p.userID=u.userID SET p.gameID=1,p.titleID=0,p.`Character`='Wizard',其中u.username='example'