gpt4 book ai didi

mysql - 从两个或多个现有表创建新表 (MySQL)

转载 作者:太空宇宙 更新时间:2023-11-03 11:08:21 26 4
gpt4 key购买 nike

问题:

是否可以从两个或多个现有表在 mySQL 中创建一个表?

详情:

我可以这样创建一个表吗:

CREATE TABLE IF NOT EXISTS USERNAME ( AGE INT NOT NULL )
CREATE TABLE IF NOT EXISTS USERAGE ( NAME VARCHAR(100) NOT NULL )
CREATE TABLE IF NOT EXISTS USER LIKE USERNAME LIKE USERAGE;

我无法判断 Reference Manual 的正面或反面:

CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name
{ LIKE old_tbl_name | (LIKE old_tbl_name) }

尾随 (LIKE old_tbl_name) 是否表示 LIKE old_tbl_name 出现 1 次或多次?

如果可能,那么同名列或两个主 ID 会发生什么情况?

编辑:我正在尝试使用现有表的架构来定义一个新表,不是试图用现有表的内容填充一个新表。

最佳答案

怎么样:

CREATE TABLE IF NOT EXISTS USER SELECT * FROM USERNAME, USERAGE WHERE FALSE;

您还可以在 SELECT 关键字之前在新表中指定您需要的任何索引,或者像往常一样在 SELECT 右侧重命名列/选择一些子集:

CREATE TABLE IF NOT EXISTS USER (PRIMARY KEY(UNAME)) SELECT NAME AS UNAME -- etc

如果您想合并所有同名列,只需在 SELECT 中使用 NATURAL JOIN

参见 CREATE TABLE ... SELECT获取更多信息。

关于mysql - 从两个或多个现有表创建新表 (MySQL),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10278218/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com