ALTER TABLE test_table ADD COLUMN a DEFAULT NULL;
Run Code Online (Sandbox Code Playgroud)
对比
ALTER TABLE test_table ADD COLUMN a;
Run Code Online (Sandbox Code Playgroud)
NULL
如果a
未指定列,则将设置两列。
据我所知,如果我将一列添加到生产数据库中具有默认值的表中,则可能会导致用默认值重写所有行时出现问题。
是DEFAULT NULL
一样的吗?
# It works!
select * from device where device.user_id in (select user_id from user);
# It doesn't work!
select user_id into test from user;
select * from device where device.user_id in test;
Run Code Online (Sandbox Code Playgroud)
为什么第一个有效,而第二个有效?
如果我想where
在上面的子句中使用变量,我该怎么做?