Mysql - 日期字段

时间:2015-12-23 02:35:32

标签: php mysql

我想在公司表中添加一个joindate字段:

alter table company add joindate date; 

我想在joindate字段中设置空值:

$joindate = '';

更新查询:

$query = "UPDATE company 
          SET joindate = '" .$joindate. "' 
          WHERE ID = '" .$ID. "'";

当我更新记录时,它会显示以下警告:

Data truncated for column 'joindate' ...

为什么呢?我应该如何在joindate字段中设置空值?

3 个答案:

答案 0 :(得分:1)

列类型为date,而不是varchar(或某种字符串类型)。因此,您必须按格式或NULL编写正确的日期。空字符串''的值不正确,因此您的值会被截断并插入0000-00-00

答案 1 :(得分:0)

您可以在列规则中允许该值为null。除非出于某种原因,否则您需要一个空值'。

答案 2 :(得分:0)

您正尝试在日期列中输入字符串。这是不允许的,数据被截断/删除;改为输入最低日期。

我的建议是将值保持为NULL,这是joindate添加joindate列时所有行的内容。该列不包含任何值(由NULL表示)没有任何问题。

如果您要执行alter table tablename add field1 int然后update tablename set field = '' where id = 1,您将收到类似的警告Incorrect integer value: '' for column 'field1' at row 1,该列的值将为0.