> 백엔드 개발 > PHP 튜토리얼 > ThinkPHP3.2.3, 这个错误是什么意思?

ThinkPHP3.2.3, 这个错误是什么意思?

WBOY
풀어 주다: 2016-07-06 13:54:06
원래의
1551명이 탐색했습니다.

下面是代码,同样的代码,同样的数据库表,在本地的wamp环境,就报下面的错误。
服务器上的LAMP,就没问题。
最近突然有这个错误的,过去的几个月,都正常的。

  1. 问题是,我的数据库表里,根本就没alias这个字段,它是哪里来的?

<code>//写数据库
//---------------------
$data['user_mail'] = $user_mail;
$data['user_name'] = $user_name;
$data['pass_word'] = md5($pass_word);
$data['last_time'] = date('Y-m-d H:i:s');
$addRes = $usr -> add($data);
\Think\log::record("6");</code>
로그인 후 복사
로그인 후 복사

ERR: SQLSTATE[HY000]: General error: 1364 Field 'alias' doesn't have a default value

回复内容:

下面是代码,同样的代码,同样的数据库表,在本地的wamp环境,就报下面的错误。
服务器上的LAMP,就没问题。
最近突然有这个错误的,过去的几个月,都正常的。

  1. 问题是,我的数据库表里,根本就没alias这个字段,它是哪里来的?

<code>//写数据库
//---------------------
$data['user_mail'] = $user_mail;
$data['user_name'] = $user_name;
$data['pass_word'] = md5($pass_word);
$data['last_time'] = date('Y-m-d H:i:s');
$addRes = $usr -> add($data);
\Think\log::record("6");</code>
로그인 후 복사
로그인 후 복사

ERR: SQLSTATE[HY000]: General error: 1364 Field 'alias' doesn't have a default value

字段缓存导致的,你把runtime目录下面的所有东西全部删掉,不包括runtime目录本身。但是前提是你的调试模式是false,这样才会使用缓存,另外,我建议你给alias字段增加一个默认值,否则,可能是开发环境与线上环境不一致的原因。

这跟tp毛关系都没有。
善用google, http://blog.csdn.net/god8816/article/details/8593419

是否开启了mysql的 strict mode ?

你出现的这个错误说明你的插入语句缺少对alias的值, 然后表结构中又没有给alias字段定义默认值;
不应该通过该 mysql的sql_mode来隐藏问题或通过数据库隐式处理问题。

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿