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在上面的子句中使用变量,我该怎么做?