【发布时间】:2013-03-26 17:16:24
【问题描述】:
所以这看起来很简单,我发誓我以前做过,但由于某种原因它对我不起作用。
我正在使用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',问题是当将空数据传递给它时,我收到SQLSTATE[23000]: Integrity constraint violation: 1048 Column 'BathsFull' cannot be null 的SQL 错误。
我也试过BathsFull acceptsNULLandDEFAULT '0',但是当传递空数据时,表格显示NULL而不是0。
我在这里遗漏了什么吗?我需要编写某种触发器吗?如果不需要的话,我不想在将脚本中的数据放入数据库之前对其进行清理。
【问题讨论】:
标签: mysql sql database phpmyadmin mamp