发布网友 发布时间:2022-04-25 23:44
共7个回答
懂视网 时间:2022-04-10 14:49
如果没有规定其他的值,那么会将默认值添加到所有的新记录。
CREATE TABLE Persons ( Id_P int NOT NULL, LastName varchar(255) NOT NULL, FirstName varchar(255), Address varchar(255), City varchar(255) DEFAULT ‘Sandnes‘ )
如果在表已存在的情况下为 "City" 列创建 DEFAULT 约束,请使用下面的 SQL:
ALTER TABLE Persons ALTER City SET DEFAULT ‘SANDNES‘
ALTER TABLE Persons ALTER COLUMN City SET DEFAULT ‘SANDNES‘
SQL_DEFAULT关键字
标签:nbsp arc class last pre mys mysql access 没有
热心网友 时间:2022-04-10 11:57
1、在创建表的时候,给字段添加的默认值约束,没有约束名称。
如:CREATE TABLE "dbo"."Test" ( id int PRIMARY KEY, sex varchar(10) DEFAULT ('boy'), name varchar(40), age int DEFAULT ((1))) 。
注意: 此时默认值约束,没有约束名称。DMBS会自动的给添加一个“默认值约束名称”,varchar类型和int类型在DEFAULT 中分别用‘’和()把value值包起来。
2、在创建表之后,给字段添加的默认值约束。
如:alter table [dbo].[Test] add constraint Test_name_Default Default('Tom') for baseCurrencyCode
注意:此时,必须编写一个约束名称,防止重名。
3、修改字段原有的默认值约束。
如:declare @csname varchar(100) set @csname= '' select @csname=[name] from sysobjects where exec('alter table [dbo].[Test] add constraint ' + @csname + ' Default((18)) for age')。
注意:默认值约束,不能修改。必须先drop之后再add drop的时候,必须知道当前“默认值约束的名称”。通过上面的sql可以查出Test表的age字段所绑定的“默认值约束名称”,才可以drop。
扩展资料:
DEFAULT 值只有当一个字段没有在 INSERT 或 MERGE 中指定值,或者使用了 DEFAULT 关键字时才会使用。如果不显式地声明一个 DEFULAT 值,SQL将隐式地将默认值定义为 NULL,而且 DEFAULT 关键字也是这样。
在SQL中,可以在 DEFAULT 子句中使用诸如 SYSDATE 或 CURRENT_TIMESTAMPE 之类的伪字段。
参考资料来源:
百度百科——约束
百度百科——SQL触发器
热心网友 时间:2022-04-10 13:15
DEFAULT约束在执行INSERT INTO语句时,如果某列没有提供具体的值,那么它提供了一个默认值。热心网友 时间:2022-04-10 16:41
图中的default表示该字段的默认值是一个空的字符串‘’,即在插入记录时不指定该字段取值时默认用‘’作为插入值。问题补充中的的default其实应该是“DEFAULT CHARSET”的一部分,表示数据库中字符的默认编码方式采用utf-8热心网友 时间:2022-04-10 18:49
你应该设置not null才行,要不然你没插入相应数据是会默认为空,像下面这样写,我测试过了create table rsb(性别 bit not null default 1)热心网友 时间:2022-04-10 21:13
create table rsb(性别 bit default(性别=1))热心网友 时间:2022-04-10 23:55
其实这说起来还是满复杂的```你这要是看不懂的话``我看你就叫些专业人士来搞吧```你这问题我是按下面漫漫试,试好的 连接到 SQL Server 的实例时收到错误消息:“Cannot open user default database”(无法打开用户默认数据库) 【全文】原因 用户默认数据库在连接时不可用。这可能是因为该数据库: �6�1 处于可疑模式。 �6�1 不再存在。 �6�1 处于单用户模式,并且唯一可用的连接已由其他用户或事物使用。 �6�1 已被分离。 �6�1 已设置为 RESTRICTED_USER 状态。 �6�1 处于脱机状态。 �6�1 设置为紧急状态。 �6�1 不具有映射到用户的登录帐户,或者该用户已被拒绝访问。 此外,该登录帐户可能是多个组的成员,且其中一个组的默认数据库在连接时不可用。 SQL Server 2005 在 SQL Server 2005 中,可以使用 sqlcmd 实用程序更改默认数据库。为此,请按照下列步骤操作: 1. 单击“开始”,单击“运行”,键入 cmd,然后按 Enter。 2. 根据 SQL Server 登录使用的身份验证种类,请使用以下方法之一: �6�1 如果 SQL Server 登录使用 Microsoft Windows 身份验证连接到该实例,请在命令提示符处键入以下内容,然后按 Enter: sqlcmd –E -S InstanceName –d master �6�1 如果 SQL Server 登录使用 SQL Server 身份验证连接到该实例,请在命令提示符处键入以下内容,然后按 Enter: sqlcmd -S InstanceName -d master -U SQLLogin -P Password 注意:InstanceName 是要连接到的 SQL Server 2005 实例的名称的占位符。SQLLogin 是已删除其默认数据库的 SQL Server 登录的占位符。Password 是 SQL Server 登录密码的占位符。 3. 在 sqlcmd 提示符处,键入以下内容,然后按 Enter: Alter LOGIN SQLLogin WITH DEFAULT_DATABASE = AvailDBName 注意:AvailDBName 是可由实例中 SQL Server 登录访问的现有数据库的名称的占位符。 4. 在 sqlcmd 提示符处,键入 GO,然后按 Enter。 SQL Server 2000 和 SQL Server 7.0 在 SQL Server 2000 和 SQL Server 7.0 中,可以使用 osql 实用程序更改默认数据库。为此,请按照下列步骤操作: 1. 在命令提示符处,键入以下内容,然后按 Enter: C:\>osql -E 2. 在“osql”提示符处,键入以下内容,然后按 Enter: 1>sp_defaultdb 'user's_login', 'master' 3. 在第二个提示符处,键入以下内容,然后按 Enter: 2>go 更简单明了的: 无法打开用户默认数据库,登录失败,这也是SQL Server使用者熟悉的问题之一。在使用企业管理器、查询分析器、各类工具和应用软件的时候,只要关系到连接SQL Server数据库的时候,都有可能会碰到此问题,引起此错误发生的原因比较多,下面我们就来详细分析引起此问题的原因以及解决办法。 一、原因 登录帐户的默认数据库被删除。 二、解决方法: (1)、使用管理员帐户修改此帐户的默认数据库 1、打开企业管理器,展开服务器组,然后展开服务器 2. 展开"安全性",展开登录,右击相应的登录帐户,从弹出的菜单中选择,属性 3、重新选择此登录帐户的默认数据库 (2)、若没有其他管理员登录帐户,无法在企业管理器里修改,使用isql命令行工具 isql /U"sa" /P"sa的密码" /d"master" /Q"exec sp_defaultdb N'sa', N'master'" 如果使用Windows验证方式,使用如下命令: isql /E /d"master" /Q"exec sp_defaultdb N'BUILTIN\Administrators', N'master'" 注:上述isql命令可以直接在命令提示符下输入。 第二篇: 无法打开用户默认数据库 登录失败 无法打开用户默认数据库,登录失败,这也是SQL Server使用者熟悉的问题之一。在使用企业管理器、查询分析器、各类工具和应用软件的时候,只要关系到连接SQL Server数据库的时候,都有可能会碰到此问题,引起此错误发生的原因比较多,下面我们就来详细分析引起此问题的原因以及解决办法。 一、原因 登录帐户的默认数据库被删除。 二、解决方法: (一)、使用管理员帐户修改此帐户的默认数据库 1、打开企业管理器,展开服务器组,然后展开服务器 2. 展开"安全性",展开登录,右击相应的登录帐户,从弹出的菜单中选择,属性 3、重新选择此登录帐户的默认数据库 -- 登录都没法,安全性节点似乎没法打开。 (二)、若没有其他管理员登录帐户,无法在企业管理器里修改,使用isql命令行工具 isql /U"sa" /P"sa的密码" /d"master" /Q"exec sp_defaultdb N'sa', N'master'" 如果使用Windows验证方式,使用如下命令: isql /E /d"master" /Q"exec sp_defaultdb N'BUILTIN\Administrators', N'master'" 参考:微软中文知识库文章:如何解决 SQL Server 2000 中的连接问题 地址: http://support.microsoft.com/default.aspx?scid=kb;ZH-CN;827422 出现本错误的情况一般如下: 将一个数据库导入MS SQL数据库中,在企业管理器中,所有任务->还原数据库—>选择“从设备”还原,找到数据库文件“xxx.db”,导入。 报错:设备激活错误,请使用with move选项来标志该文件的有效位置。 解决方法:右键点“数据库”(注意不是某个特定的数据库)—>所有任务—>还原数据库—>选择“从设备”还原,选择要还原成的数据库名,然后在选项卡中,选择现有数据库上强制还原数据库,然后在下面修改数据库还原后的物理路径,这个路径要是存在的一个路径,否则就会出现上面的错误,逻辑文件名可以不用改,即可。 只要用不同默认数据库的用户登录就可以了。[--各个用户的默认数据库] 编辑SQL Server 注册,改为SQL Server身份验证,用sa登录就可以了 sa的默认数据库被分离 -> 重装SQL Server。