カラムのvarchar値を別のテーブルのid外部キー値に変更しようとしていますが、変換できないようで常にエラーがスローされます。私は何をする必要があるかvarcharカラムを別のテーブルの外部キーに変更するSQL
Userテーブル...
CREATE TABLE User(
UserId INT NOT NULL AUTO_INCREMENT,
FirstName VARCHAR(50),
LastName VARCHAR(50),
Email VARCHAR(50),
Username VARCHAR(20) NOT NULL,
Password VARCHAR(50) NOT NULL,
RoleName VARCHAR(50) NOT NULL,
LastLogin DATETIME,
PRIMARY KEY(UserId)
);
INSERT INTO User
(FirstName, LastName, Email, Username, Password, RoleName)
VALUES
...
ロール名テーブル...今
create table rolename(
RoleId int not null auto_increment,
RoleName varchar(50),
primary key(RoleId)
);
insert into rolename(RoleName) select distinct RoleName from user;
は、ユーザーでのロール名の列を持っていますテーブルはRoleNameテーブルのキーを指します。私はこれを試し続けますが、いつも私にエラーを与えます。私はどちらかそのコードを適切に外部キーを設定していた場合、私はわからない
update user set user.`RoleName` = rolename.`RoleId` from user inner join rolename on user.`RoleName` = rolename.`RoleName`;
...
私はデータベースを書いていませんでしたが、データベースは書いていませんでしたが、ヘッドアップに感謝しています! – remedy