我有一个名为 UserInfo 的表,如下所示:
Userid Job Age
John A 35
Sarah B 27
我想创建另一个类似的表,称为 UserScores (分数为空):
Userid Score
John
Sarah
其中 userid 列与其他表完全相同。我该如何使用 SQL 来做到这一点?这是我尝试过的:
CREATE TABLE UserScores AS
SELECT userid, score
FROM user
我还需要将用户 ID 作为我的 UserScores 表中的主键。我该怎么做?提前致谢。
最佳答案
您将 NULL 作为值添加到分数,如下所示,并在创建表 userscores 后添加 promary kley
CREATE TABLE user (userid INT)
INSERT INTO user VALUES (1)
CREATE TABLE UserScores AS SELECT userid, NULL AS score FROM user
ALTER TABLE UserScores ADD PRIMARY KEY (userid);
db<> fiddle here
编辑
您还应该在创建中定义分数类型
CREATE TABLE UserScores (userid int, scrore int) AS
SELECT userid, NULL AS score
FROM user
关于mysql - 如何从 MySQL 中的现有表创建另一个表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66824295/