我在DB2中有一个包含超过150列不同数据类型的表,包括CHARACTER,DECIMAL,DATE,TIMESTAMP和VARCHAR。
我正在为一条记录创建一个插入脚本,我需要使用默认值填充第一列,所有剩余列都应为空,而不管数据类型如何。
例如
INSERT INTO TABLE1 (COL1, COL2, COL3, COL4 ... COL150)
VALUES ('hello','','','','' ... '')
COL1是CHARACTER,COL2可以是TIMESTAMP,COL3可以是VARCHAR,COL4可以是VARCHAR。我可以对所有数据类型使用''吗?
答案 0 :(得分:0)
我可以使用''对于所有数据类型?
你不必。要插入列的默认值,请使用关键字default
:
insert into table1 (col1, col2, col3, col4)
values ('hello', default, default, default);
无论列的数据类型如何,这都有效。
请注意,这不能用于定义为NOT NULL
且没有非null默认值的列。
答案 1 :(得分:-2)
不确定我是否理解你的问题,但让我给出一个比我在评论中所做的更好的解释。
每次我必须在我的数据库中插入一些内容时,我使用,我的老板强迫我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
我的name, date_of_declaration
表包含更多列,例如null
等,但列可以是SQLserver 2008
,或者用户可以将该问题留空。
不确定这是否是您要做的。
PS:我使用like()
我的代码可能与您的代码不同