`
bdv32mfe
  • 浏览: 6964 次
  • 性别: Icon_minigender_1
  • 来自: 南京
文章分类
社区版块
存档分类
最新评论

sybase上关于default值的一个怪问题

阅读更多

     今天碰到一个bug,是这样的:

     当我通过web界面向test表插入一条记录时候,sybase报如下错误:

     Insert Object Error: Implicit conversion from datatype 'INT' to 'VARCHAR' is not allowed

     test表结构是这样的 :

     create  table  test (

         id int not null,

         name varchar(10) null,

         team  varchar(10) default 20 null

    ) 

   这个语句是可以成功执行的.

   后来查找到原因如下:

   插入记录时,我没有设置 team的值,就好像执行如下的语句一样:

   insert into test ( id , name ) values ( 1, 'test' )

   因为 没有设置 team 字段的值,所以 sybase就用 20 来作为缺省值来设置 team 的值,但因为 team为varchar型的,所以就报上面那个错误了 , 后来把default 值设为 '20'  就可以了.

    我不明白的是,为什么sybase在建表的时候不指出这样的错误 ,  而非要到实际使用的时候才报错 ?

 

分享到:
评论
2 楼 bdv32mfe 2007-06-07  
谢谢回帖
1 楼 JAVA_ED 2007-06-06  
default rule是一种规则强制 它不受列数据完整性影响
你命令它默认是这个
那sybase只能听你的了 帮你绑上去而已
如果以后出错了再报给你


相关推荐

    sybase字符集问题

    Sybase是一个高性能的关系型数据库管理系统,广泛应用于各种企业级应用中。在Sybase系统中,字符集的正确配置对于确保数据的一致性和准确性至关重要。本文将详细介绍Sybase字符集的相关知识点,并通过具体的例子来...

    sybase如何在Sybase ASE上定时调度一个存储过程

    Job Scheduler 是 Sybase ASE 中的一种机制,用于定时执行存储过程或其他任务。它可以帮助数据库管理员简化工作流程,提高工作效率。 其次,在安装和配置 Job Scheduler 之前,需要了解 Sybase ASE 的版本问题。...

    Sybase数据库死锁问题

    死锁(DEADLOCK)是指两个或多个用户进程,每个进程都在一个单独的页或表上有一个锁,而每个进程都想在对方进程的页或表上请求不相容锁时就会发生“死锁”。在这种情况下,第一个进程在等待另一进程释放锁,但另一...

    sybase ASE for Suse 10

    Sybase ASE 是一个关系数据库管理系统,能够在 Suse 10 平台上运行。本文档将指导用户如何在 Suse 10 上安装和配置 Sybase ASE。 一、创建用户和组 ----------------- 在安装 Sybase ASE 之前,需要创建一个专门...

    sybase

    Sybase 是一款由 Mark B. Hiffman 和 Robert Epstern 在1984年创立的公司所开发的数据库产品,自1987年起正式推出。Sybase 提供了多种操作系统环境下的版本,包括UNIX、Novell Netware 和 Windows NT。其中,在UNIX...

    Sybase数据库更换字符集方法,解决中文乱码问题

    - 查找`[NT]`段落,并将`locale=default,us_english,cp936`改为新的设置,确保`cp936`为最后一个参数,代表新的默认字符集。 5. **重启服务:** - 完成以上步骤后,需要重启Sybase服务以使更改生效。 #### 注意...

    Sybase安装步骤及中文乱码解决办法

    最后,我们需要设置客户端字符集,进入“E:\sybase\locales”目录下,有一个locales.bat文件,用记事本打开,找到前缀为[NT]的一段,将最后行,也就是“locale = default, us_english, iso_1”中的“iso_1”修改成为...

    关于vb连接Sybase数据库

    当你想要在VB中实现对Sybase数据库的无DSN(Data Source Name)连接时,意味着你不需要预先在系统中配置一个ODBC数据源,而是直接在代码中提供必要的连接信息。 首先,我们需要了解如何在VB中创建数据库连接。这...

    sybase数据库多行合并为一行多列.sql

    sybase数据库是不支持group_concat函数的,此文件为sybase存储过程样例,可以将多行信息按标识合并为一行多列。

    SYBASE数据结构.pdf

    当 SYBASE 创建数据库时(第一次给数据库分配空间)自动地建立三个段系统(SYSTEM)段、省缺(DEFAULT)段、日志(LOG)段。 数据库初始建立时系统段、省缺段在同一数据库设备,日志段可与系统段在不同的数据库设备。数据库...

    Sybase ASE12.5附带的Sybase Central完整免安装版

    **Sybase Central** 是一个图形化的管理工具,用于管理和监控Sybase ASE数据库服务器以及相关的数据库对象。在ASE12.5的时代,Sybase Central提供了一个用户友好的界面,使得DBA(数据库管理员)和开发者可以更轻松...

    Sybase IQ 官方文档(Sybase参考手册)

    通过深入学习这些文档,你可以掌握如何规划、部署和管理一个高性能的数据仓库,利用Sybase IQ的强大功能进行大数据分析。记住,理解和熟练运用这些知识将有助于你在数据库管理和数据分析领域取得显著成就。

    aix下Sybase安装

    AIX 是 IBM 公司的一种 UNIX 操作系统,Sybase 是一个关系数据库管理系统,安装 Sybase 在 AIX 上需要满足一定的硬件和软件要求。 一、安装要求 要安装 Sybase,需要满足以下要求: * 平台:IBM RS/6000 * 操作...

    linux下安装sybase

    为了能够让 Sybase 正常运行,还需要创建一个脚本来配置 Sybase 的环境变量,并将其添加到系统的环境变量中。这通常可以通过以下步骤完成: ```bash [sybase@localhost ~]$ cd /opt/sybase [sybase@localhost sybase...

    SYBASE11.92-1

    标题“SYBASE11.92-1”指的是SYBASE数据库管理系统的一个特定版本,即11.92版的第一部分。SYBASE是一个历史悠久的、高度可扩展的关系型数据库管理系统(RDBMS),由SYBASE公司开发,广泛应用于金融、电信等关键业务...

    sybase16 ODBC驱动

    Sybase是一个强大的企业级关系型数据库管理系统(RDBMS),由Sybase公司开发。它支持多种平台,包括Unix、Linux和Windows,并广泛应用于金融、电信等行业。Sybase16 ODBC驱动作为桥梁,使得应用程序能够通过标准的...

    经典:Sybase关于Workflow的精华资料

    标题中的“经典:Sybase关于Workflow的精华资料”表明这是一份关于Sybase数据库系统中Workflow功能的精选教程或文档集合。Workflow在信息技术领域中,通常指的是工作流管理系统,它用于自动化业务流程,管理和跟踪...

    sybase ase for linux 12.5安装

    本文档旨在指导用户如何在 RedHat AS 5 上安装 Sybase ASE for Linux 12.5。 installation process covers the creation of a Sybase directory, setting up the user and group, unpacking and installing the ...

Global site tag (gtag.js) - Google Analytics