2

我正在尝试仅将表中的一列复制到新创建的表中。

这是我的 SQL:

CREATE TABLE whatever(
            id INT NOT NULL AUTO_INCREMENT,
            PRIMARY KEY(id),
            uid INT,
            can_view TINYINT DEFAULT 0
        )

这很好用,但是,我需要对其进行修改,以便使用我的 users 表中的 'id' 值填充 'uid' 列。

有人知道该怎么做吗?

我试过

uid INT (SELECT id FROM users)

这似乎不起作用

4

5 回答 5

4
INSERT INTO whatever (uid)
SELECT id
FROM users

插入...选择

或者你可能喜欢它:

CREATE TABLE whatever (
    id INT NOT NULL AUTO_INCREMENT,
    PRIMARY KEY(id),
    uid INT,
    can_view TINYINT DEFAULT 0
)
SELECT NULL AS id, id AS uid, 0 AS can_view
FROM users

创建表...选择

于 2012-07-20T12:07:43.127 回答
1

创建之后 - 像这样:

INSERT into whatever( uid ) select id from users
于 2012-07-20T12:08:02.923 回答
1

创建为选择:

CREATE TABLE whatever(
        id INT NOT NULL AUTO_INCREMENT,
        PRIMARY KEY(id),
        uid INT,
        can_view TINYINT DEFAULT 0
    ) AS SELECT id AS uid FROM users;
于 2012-07-20T12:12:54.537 回答
0
insert into whatever(uid ) values select id from users
于 2012-07-20T12:08:22.023 回答
0

这是简单的答案,它肯定会对您有所帮助。

INSERT into whatever(uid) VALUES (SELECT id FROM users)

谢谢。

于 2012-07-20T12:12:43.923 回答