sybase上關於default值的乙個怪問題

2021-08-29 08:23:52 字數 766 閱讀 7914

今天碰到乙個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在建表的時候不指出這樣的錯誤 ,  而非要到實際使用的時候才報錯 ?

iPhone上關於Push Notify的實現

push是乙個非常有用的功能。要完成push 的功能主要分三步 1.準備好 具有push功能的證書。這一步浪費了一些時間,我用sarfir居然沒有反應後來用firefox通過的。注意這裡的證書不能是萬用字元的。2.建立乙個工程實現push的相關功能。a.註冊ationtypes uiremoteno...

在GameDev上關於OO的鏈結

都是01年的文章了,比較老,但還是很不錯的 kent beck and ward cunningham a laboratory for teaching object oriented thinking ise building bug free o o software an introduct...

Linux上關於防火牆和埠

1 firewalld的基本使用 啟動 systemctl start firewalld 檢視狀態 systemctl status firewalld 停止 systemctl disable firewalld 禁用 systemctl stop firewalld 2.systemctl是c...