对于以下代码:

logger.debug('message: {}'.format('test'))

Pylint产生以下警告:

logging-format-interpolation (W1202): 在日志函数中使用%格式,并将%参数传递为 当日志语句的调用形式为 “日志记录。(format_string.format (format_args…)”。这样的 调用应该使用%格式,而将插值留给 日志函数,通过将参数作为参数传递。

我知道我可以关闭这个警告,但我想了解它。我假设使用format()是Python 3中输出语句的首选方式。为什么记录器语句不是这样?

如何使用cat读取文件的第一行?

我运行data.bat文件与以下行:

Rem Tis batch file will populate tables

cd\program files\Microsoft SQL Server\MSSQL
osql -U sa -P Password -d MyBusiness -i c:\data.sql

数据的内容。SQL文件是:

   insert Customers
            (CustomerID, CompanyName, Phone)
             Values('101','Southwinds','19126602729')

还有8个类似的行用于添加记录。

当我运行这个开始>运行> cmd > c:\data.bat,我得到这个错误信息:

1>2>3>4>5>....<1 row affected>
Msg 8152, Level 16, State 4, Server SP1001, Line 1
string or binary data would be truncated.

<1 row affected>

<1 row affected>

<1 row affected>

<1 row affected>

<1 row affected>

<1 row affected>

此外,我显然是一个新手,但级别#和状态#意味着什么,我如何查找错误消息,如上面的一个:8152?

我正在创建一个SQL设置脚本,我正在使用别人的脚本作为示例。下面是一个脚本示例:

SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[be_Categories](
    [CategoryID] [uniqueidentifier] ROWGUIDCOL  NOT NULL CONSTRAINT [DF_be_Categories_CategoryID]  DEFAULT (newid()),
    [CategoryName] [nvarchar](50) NULL,
    [Description] [nvarchar](200) NULL,
    [ParentID] [uniqueidentifier] NULL,
 CONSTRAINT [PK_be_Categories] PRIMARY KEY CLUSTERED 
(
    [CategoryID] ASC
)WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]
) ON [PRIMARY]
GO

有人知道ON [PRIMARY]命令是做什么的吗?

我在数据库中指定了以下列:

如何解释这一点呢?

根据在SQL Server Management studio中查看的列上的属性,我可以看到它的意思是:十进制(数字精度,数字比例)。

精确和规模在现实中意味着什么?

这很容易理解为一个有5位小数和两位小数的小数……ie 12345.12

附注:我可以从一位同事那里确定正确答案,但在网上找到答案非常困难。因此,我希望将问题和答案记录在stackoverflow上,以供将来参考。

我想把我的程序的输出信息到一个文件夹。如果给定的文件夹不存在,那么程序应该创建一个新的文件夹,文件夹名称为程序中给定的。这可能吗?如果是,请告诉我怎么做。

假设我已经给出了文件夹路径像“C:\Program Files\alex”和alex文件夹不存在,那么程序应该创建alex文件夹,并应该把输出信息放在alex文件夹。

在postgresql(windows版本9.2.4)中比较日期时,我一直面临着一个奇怪的场景。

我有一个列在我的表说update_date类型的时间戳没有时区。客户端可以在该字段中只搜索日期(例如:2013-05-03)或日期(例如:2013-05-03 12:20:00)。

该列的值为当前所有行的时间戳,日期部分2013-05-03相同,但时间部分不同。

当我比较这一列时,我得到了不同的结果。比如:

select * from table where update_date >= '2013-05-03' AND update_date <= '2013-05-03' -> No results

select * from table where update_date >= '2013-05-03' AND update_date < '2013-05-03' -> No results

select * from table where update_date >= '2013-05-03' AND update_date <= '2013-05-04' -> results found

select * from table where update_date >= '2013-05-03' -> results found

我的问题是我如何能使第一个查询可能得到结果,我的意思是为什么第三个查询工作,而不是第一个?

为什么SELECT *是不好的做法?如果您添加了想要的新列,这难道不意味着需要更改的代码更少吗?

我知道SELECT COUNT(*)在某些db上是一个性能问题,但是如果您真的想要每个列呢?

我得到以下错误。你能帮帮我吗?

信号547,16级,状态0,1号线 INSERT语句与外键约束“FK_Sup_Item_Sup_Item_Cat”冲突。数据库“dev_bo”,表“dbo.Sup_Item_Cat”发生冲突。声明已终止。

代码:

insert into sup_item (supplier_id, sup_item_id, name, sup_item_cat_id, 
                      status_code, last_modified_user_id, last_modified_timestamp, client_id)   
values (10162425, 10, 'jaiso', '123123',
        'a', '12', '2010-12-12', '1062425')

最后一列client_id导致了错误。我试着把已经存在的值放在dbo中。将Sup_Item_Cat放入列,对应于sup_item..但没有快乐:-(

线程的上下文类装入器和普通类装入器之间的区别是什么?

也就是说,如果Thread.currentThread().getContextClassLoader()和getClass().getClassLoader()返回不同的类装入器对象,将使用哪一个?