复制数据库结构时1=2是什么意思?

What is the meaning of 1=2 when copying database structure?

我遇到过

create table new_table as select * from old_table where 1=2;

where 1=2条件是什么意思,它有什么作用?

1=2 始终计算为 false。这是利用 create as select 复制 table 的结构而不复制其任何行的常见技巧(因为其中 none 将通过 [=10= 的测试) ]).

WHERE 1=2 表示错误条件,其中不会从 table 中获取任何行,并且目标 table 将类似于源 table 除了数据

只是它会复制 table 的结构,而不是 table 中存在的 data 的结构。 1=0 or 1=2 在 where 子句中总是 returns false 所以 select query 不会 return 来自 table 的任何 rows 这只是创建一个table 和你的 schema 中的另一个 table 一样。

1=2 本质上导致在创建新 table 时选择旧 table 中当前记录的 none,因此您仅使用结构旧的 table 来制作新的 table。