在 DB2 中为不同的数据类型插入空白值

Insert Blank value in DB2 for different data types

我在 DB2 中有一个 table,其中包含 150 多个不同数据类型的列,包括 CHARACTER、DECIMAL、DATE、TIMESTAMP 和 VARCHAR。

我正在为一条记录创建一个插入脚本,其中我需要用默认值填充第一列,并且无论数据类型如何,所有其余列都应为空白。

例如

INSERT INTO TABLE1 (COL1, COL2, COL3, COL4 ... COL150)
VALUES ('hello','','','','' ... '')

COL1是CHARACTER,COL2可以是TIMESTAMP,COL3可以是VARCHAR,COL4可以是VARCHAR。我可以对所有数据类型使用 '' 吗?[​​=11=]

不确定我是否理解你的问题,但让我给它一个比我在评论中所做的更好的解释。

每次我必须在我使用的数据库中插入一些东西时,我的老板强迫我 lol 创建函数。在我的 tables 中,大多数 col 允许 NULL 值。所以,这是一个例子(顺便说一下,并不完美):

function insertMajor($application_id, $major,$type, $conn){
//insert
$query = "INSERT INTO [dbo].[Applicant_Majors] "
        . "([application_id],"
        . "[program],"
        . "[type])"
        . "VALUES('$application_id','$major','$type')";

//connection
$stmt = sqlsrv_query($conn, $query);

if ($stmt === false) {//start if
    die(print_r(sqlsrv_errors(), true));
 }//end if

}

我的 Applicant_Majors table 有更多列,例如 name, date_of_declaration 等,但列可以是 null 或者用户可以将该问题留空。

不确定这是否是您想要做的。

PS:我用SQLserver 2008我的代码可能和你的不一样

Can I use '' for all data types?

你不必。要为列插入默认值,请使用关键字 default:

insert into table1 (col1, col2, col3, col4) 
values ('hello', default, default, default);

这与列的数据类型无关。

请注意,这不适用于定义为 NOT NULL 且没有非空默认值的列。