我有两张桌子auth_user
和temp
这些是他们的架构:
CREATE TABLE "auth_user" (
"id" integer NOT NULL PRIMARY KEY,
"username" varchar(30) NOT NULL UNIQUE,
"first_name" varchar(30) NOT NULL,
"last_name" varchar(30) NOT NULL,
"email" varchar(75) NOT NULL,
"password" varchar(128) NOT NULL,
"is_staff" bool NOT NULL,
"is_active" bool NOT NULL,
"is_superuser" bool NOT NULL,
"last_login" datetime NOT NULL,
"date_joined" datetime NOT NULL
);
CREATE TABLE "temp" ( "id" integer, "username" varchar(30));
如果用户名相同,我希望将表中的id
字段auth_user
更新为表中的id
字段。temp
我怎样才能做到这一点?
我试过这个 SQL:
Update auth_user set id=(select temp.id from temp where temp.username=auth_user.username);
但我得到这个错误:
Error: datatype mismatch