所以这看起来很简单,我发誓我以前做过,但出于某种原因,它对我不起作用。
我正在使用MAMP
并有一个包含大约 200 列的表,如果将 NULL 或空数据插入其中,我希望其中大约 20 个默认为 0。
这是一个小例子,展示了我的表的外观以及我对希望默认为 0 的列所做的操作。
CREATE TABLE `listings` (
`ListingID` int(11) NOT NULL,
`BathsFull` int(6) NOT NULL DEFAULT '0',
PRIMARY KEY (`ListingID`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
因此,请注意BathsFull
我将其设置为NOT NULL DEFAULT '0'
问题是,当将空数据传递给它时,我会收到一个 SQL 错误SQLSTATE[23000]: Integrity constraint violation: 1048 Column 'BathsFull' cannot be null
。
我也试过这样BathsFull accepts
NULL and
DEFAULT '0',但是当传递空数据时,表格显示NULL
而不是0
.
我在这里错过了什么吗?我需要编写某种触发器吗?如果不需要的话,我不想在将脚本中的数据放入数据库之前对其进行清理。