我想将表SourceTable的主键ID用于DestTable。 SourceTable自动生成唯一ID,我必须将此ID插入DestTable。 System.DateTime.Now(我正在使用Asp.net C#)值是唯一可以引用此Id的唯一数据。以下是我的询问:
string @Date = ("Select Id from SourceTable Where Date=' " + System.DateTime.Now + " '");
string insertId = "insert into DestTable (Id) SELECT Id FROM SourceTable WHERE Date= ' " + Date + " ' ";
SqlCommand comId = new SqlCommand(insertId, conn);
执行此命令时,我的DestTable的Id列为空。我的解决方案是什么?
答案 0 :(得分:2)
为什么要为此使用两个查询?只需使用:
insert into DestTable (d)
select id
from SourceTable
where date = CURRENT_DATE;
您的代码可能没有返回答案,因为now()
有一个时间组件,并且会阻止日期匹配常量。
注意:CURRENT_DATE
取决于数据库。这可能是trunc(sysdate)
(Oracle),cast(getdate() as date)
(SQL)或其他。