mysql - 将一列的值复制到新表

标签 mysql sql

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

这是我的 SQL:

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

这工作正常,但是,我需要对其进行修改,以便它使用我的用户表中的“id”值填充“uid”列。

有人知道如何处理吗?

我试过了

uid INT (SELECT id FROM users)

这似乎行不通

最佳答案

INSERT INTO whatever (uid)
SELECT id
FROM users

INSERT ... SELECT

或者如你所愿:

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

CREATE TABLE ... SELECT

关于mysql - 将一列的值复制到新表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11579034/

相关文章:

Python mysql 包未运行 REPLACE 语句

java - 尝试执行 CREATE TABLE sql 命令时,Netbeans 出现错误代码 -1,SQL 状态 42Z93

sql - 如何将两个表列合并为第三张表中的一列

MySql 不同的问题 : Error Code: 1242 Subquery returns more than 1 row

mysql - 如何从其他表中选择一行作为当前选择字段的 json 结果

mysql - 从上个月的价格变化表中获取最后 2 条更新的unit_price

mySQL 查询选择列,其中 value = a 或 value = b 等

java - 如何修复 JAVA 错误 NullPointerException(使用 jdbc)

php - 如何忽略 PHP 中准备好的 mysqli 查询中的参数?

mysql - Amazon RDS 数据库本地下载