小编use*_*374的帖子

Linux 上共享内存的生命周期是多长

我正在使用 ftok/shmget/shmat/shmdt 函数在 Linux 上创建、写入和读取共享段。

如果我在一个程序中写入该段然后退出,然后稍后从另一个程序读取该段,我会惊讶地发现数据仍然存在。

我原以为当共享一个段的最后一个进程执行 shmdt 时,该段将被释放。

我可以依赖这种行为吗?还是类似于在 free() 之后继续使用指针?

c c++ linux shared-memory

5
推荐指数
1
解决办法
1469
查看次数

无法在SQL Server中向空表添加"NOT NULL"列

我知道在向包含SQL Server中的数据的表中添加列时,该列必须具有NULL选项或默认值.否则SQL Server会用新的行填充什么?

我不知道为什么我不能在空表中添加NOT NULL列.我已经在两个SQL 2008实例和一个SQL 2005实例上尝试了这个,没有任何问题.但是,使用SQL 2000的客户确实存在此问题.这是与SQL 2000相关还是可以关闭的选项.我们希望这是一个选择.

Select @@Version
Run Code Online (Sandbox Code Playgroud)

Microsoft SQL Server 2000 - 8.00.760(Intel X86)2002年12月17日14:22:05版权所有(c)1988-2003 Microsoft Corporation Developer Edition on Windows NT 5.1(Build 2600:Service Pack 3)

Select count(*) from actinv

0

ALTER TABLE [ActInv] ADD [BATCHNUMBER] NVARCHAR(50) NOT NULL
Run Code Online (Sandbox Code Playgroud)

消息4901,级别16,状态1,行1 ALTER TABLE仅允许添加可包含空值或指定了DEFAULT定义的列.列'BATCHNUMBER'无法添加到表'ActInv'中,因为它不允许空值并且不指定DEFAULT定义.

sql-server null ddl sql-server-2000

4
推荐指数
1
解决办法
2万
查看次数

标签 统计

c ×1

c++ ×1

ddl ×1

linux ×1

null ×1

shared-memory ×1

sql-server ×1

sql-server-2000 ×1