我的查询不起作用。它表示在null关键字附近存在语法错误。我不知道如何解决它。我想在数据库中插入空字符串或null 。我该怎么办? 这是我的查询
insert into [REMARKS]
values((SELECT top 1 ref_no
FROM A_MASTER order by ref_no desc ), (SELECT top 1 current_dept
FROM A_MASTER order by ref_no desc ),'630590', GETDATE()), NULL
内部查询工作没有任何错误。
答案 0 :(得分:2)
您错过了close parenthesis
,但这是插入
INSERT INTO [remarks]
(ref_no,
current_dept,
third_col)
SELECT TOP 1 ref_no,
current_dept,
NULL
FROM a_master
ORDER BY ref_no DESC
注意:在插入过程中始终添加插入列列表
答案 1 :(得分:2)
你错过了你的小括号,我应该喜欢这个..
insert into [REMARKS]
values((SELECT top 1 ref_no
FROM A_MASTER order by ref_no desc ), (SELECT top 1 current_dept
FROM A_MASTER order by ref_no desc ),'630590', GETDATE(), NULL)
在您的查询中,您将同一个表两次引用为两列。
你可以这样写..
insert into [REMARKS] select top 1 ref_no,curent_dept
'630590',GETDATE(),NULL
from A_MASTER
order By ref_no desc
由于两个列都来自同一个表..
答案 2 :(得分:0)
我发现了错误。原因是我在插入查询的关闭paranthesis 之后添加了 NULL关键字。当我在paranthesis里面添加它时它起作用。
{{1}}
答案 3 :(得分:0)
为什么我们应该在列中插入NULL,如果它可以为空并且没有定义任何默认值,那么我们只是在插入时忽略该列然后它将自动保存为空
INSERT INTO [remarks] (ref_no, current_dept)
SELECT TOP 1 ref_no,
current_dept
FROM a_master
ORDER BY ref_no DESC
只需在插入中提及要插入非空值的列定义,并仅为这些列选择所需的值,并且不要包含您想要NULL值的列。