当我尝试在数据库中插入日期时,我在MySql中遇到了问题。
我的表有一个datetime列,当我用PHP插入一些值时,如
INSERT INTO table (column1,column2) VALUES ('1','2010-11-20');
[Column2是DATETIME]
我的结果,在我的数据库中是' 1' 00:00:00' 00:00:00'而且我不知道为什么因为这有效....:S。
可能是什么问题?
抱歉......我解释了更多我的问题
我从格式为' 20-11-2010'的文件中读取这些值。然后我改为MySql格式(很容易)并写下我的插入句子。
我的插入句子很好,我把它放在其他文件中(如.log),结果是:
INSERT INTO telephones (telephone,date) VALUES ('123456789','2014-18-11');
但是,如果我查看我的数据库,结果是:
'123456789' and '0000-00-00 00:00:00'
修改
但在某些情况下,我会像'2010-11-20 16:30:20'
这样的价值观。如果我将DATETIME更改为DATE,我将失去此值。
我的数据值来自文件,值类似于
'123456789''20-11-2010 16:00:00' [First value is a telephon number and the next is the date]
但在某些情况下,我没有时间就收回日期。
当我reed the date时,我使用explode()更改了值,并按下一个顺序返回值
$myDate = $date[2]."-".$date[1]."-".$date[0];
当我构建插入时,我尝试@entiendoNull解决方案,如
日期(" Y-m-d H:我:s",strtotime($ myDate));
但这放入我的插入句子" 1970-01-01 XX:xx:xx"
答案 0 :(得分:0)
您尝试将DATE格式的信息插入到接受DATETIME的列中。
总结一下,您要么必须将表中的列更改为“DATE”,要么(更好)只需将00:00:00作为时间插入:
INSERT INTO table (column1,column2) VALUES ('1','2010-11-20 00:00:00');
答案 1 :(得分:0)
按以下方式设置日期格式,然后尝试插入日期:
$formattedDate = date("Y-m-d H:i:s", strtotime($value)); //$value holds a date e.g. 2015-01-19 or a datetime e.g. 2015-01-19 10:58:01