我有兩個表auth_user
和temp
sqlite3的錯誤:對複雜的更新操作
數據類型不匹配,這些都是他們的架構:
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));
我想在auth_user
表id
字段更新到id
temp
表的字段提供的用戶名是相同的。我怎樣才能做到這一點?
我想這個SQL:
Update auth_user set id=(select temp.id from temp where temp.username=auth_user.username);
但我得到這個錯誤:
Error: datatype mismatch
您能否提供您使用的示例數據,因爲我無法複製該錯誤。 – heretolearn
哦,我沒有提供,因爲它有敏感信息。無論如何,我找到了答案。 – Vigneshwaran