我创建了一个表..代码是
create table ddate(
ddate date);
之后我试图插入像这样的值
insert into ddate(ddate)value(2010-04-12);
但是它给了我一个警告
插入ddate(ddate)值(2010-04-12)1行受影响,1 警告:1264列超出范围值' ddate'在第1行0.001 秒
答案 0 :(得分:3)
日期文字用单引号括起来,就像字符串文字一样。
insert into ddate(ddate)value('2010-04-12')
^ ^
如果没有文字周围的单引号,MySQL会将其作为数值进行评估,计算结果为:
2010 - 04 - 12
这使得原始陈述基本上等同于
insert into ddate(ddate)value( 1994 )
答案 1 :(得分:1)
您必须使用单引号作为日期文字:
public class Record
{
private Set<Employee> employeeSet = new HashSet<Employee>();
public Record()
{
newEmployee("1");
newEmployee("2");
newEmployee("3");
}
public void newEmployee(String employNumber)
{
Employee newEmp = new Employee(employNumber);
employeeSet.add(newEmp);
}
}