做项目时犯的弱智错误

弱智问题一:

在往MySql的表中插数据时,老是报SQL Error: 1064, SQLState: 42000错误,郁闷了好半天,上网搜了才发现,是因为表中字段的名字用了MySql的关键字,晕倒,以后一定要注意。

MySQL的保留字有以下这些,使用中需要注意。(从网上打劫过来的)

ADDALLALTER
ANALYZEANDAS
ASCASENSITIVEBEFORE
BETWEENBIGINTBINARY
BLOBBOTHBY
CALLCASCADECASE
CHANGECHARCHARACTER
CHECKCOLLATECOLUMN
CONDITIONCONNECTIONCONSTRAINT
CONTINUECONVERTCREATE
CROSSCURRENT_DATECURRENT_TIME
CURRENT_TIMESTAMPCURRENT_USERCURSOR
DATABASEDATABASESDAY_HOUR
DAY_MICROSECONDDAY_MINUTEDAY_SECOND
DECDECIMALDECLARE
DEFAULTDELAYEDDELETE
DESCDESCRIBEDETERMINISTIC
DISTINCTDISTINCTROWDIV
DOUBLEDROPDUAL
EACHELSEELSEIF
ENCLOSEDESCAPEDEXISTS
EXITEXPLAINFALSE
FETCHFLOATFLOAT4
FLOAT8FORFORCE
FOREIGNFROMFULLTEXT
GOTOGRANTGROUP
HAVINGHIGH_PRIORITYHOUR_MICROSECOND
HOUR_MINUTEHOUR_SECONDIF
IGNOREININDEX
INFILEINNERINOUT
INSENSITIVEINSERTINT
INT1INT2INT3
INT4INT8INTEGER
INTERVALINTOIS
ITERATEJOINKEY
KEYSKILLLABEL
LEADINGLEAVELEFT
LIKELIMITLINEAR
LINESLOADLOCALTIME
LOCALTIMESTAMPLOCKLONG
LONGBLOBLONGTEXTLOOP
LOW_PRIORITYMATCHMEDIUMBLOB
MEDIUMINTMEDIUMTEXTMIDDLEINT
MINUTE_MICROSECONDMINUTE_SECONDMOD
MODIFIESNATURALNOT
NO_WRITE_TO_BINLOGNULLNUMERIC
ONOPTIMIZEOPTION
OPTIONALLYORORDER
OUTOUTEROUTFILE
PRECISIONPRIMARYPROCEDURE
PURGERAID0RANGE
READREADSREAL
REFERENCESREGEXPRELEASE
RENAMEREPEATREPLACE
REQUIRERESTRICTRETURN
REVOKERIGHTRLIKE
SCHEMASCHEMASSECOND_MICROSECOND
SELECTSENSITIVESEPARATOR
SETSHOWSMALLINT
SPATIALSPECIFICSQL
SQLEXCEPTIONSQLSTATESQLWARNING
SQL_BIG_RESULTSQL_CALC_FOUND_ROWSSQL_SMALL_RESULT
SSLSTARTINGSTRAIGHT_JOIN
TABLETERMINATEDTHEN
TINYBLOBTINYINTTINYTEXT
TOTRAILINGTRIGGER
TRUEUNDOUNION
UNIQUEUNLOCKUNSIGNED
UPDATEUSAGEUSE
USINGUTC_DATEUTC_TIME
UTC_TIMESTAMPVALUESVARBINARY
VARCHARVARCHARACTERVARYING
WHENWHEREWHILE
WITHWRITEX509
XORYEAR_MONTHZEROFILL

 

弱智问题二:

需要同事帮忙调整程序,但是同事却死人的连不上我机器上的MySql,继续郁闷,继续网上搜索。

发现一个补救办法是:让mysql库中user表的host字段为“%”,以接受远程控制,这样别人就可以用mysql -h ***.***.***.***(你的IP) -u root -p密码 进行连接并操作数据库了。
还有一个是在安装时需要注意的:在设置用户的时候会有一个复选框,问是否让别人连接,这里需要选中!

弱智问题三:

用Hibernate,设置PO映射文件的主键字段的属性为“natively”(<id name="logId" type="integer" column="LOGID"><generator class="native"/></id>),但是往表里面查数据时老是说“The database returned no natively generated identity value”。

最后确认是在表的属性中没有设置主键为“auto increment”,这个可以用数据库连接工具在表属性中设置,也可以在建表的时候,在主键字段后面标注上:CREATE TABLE `log` (`LOGID` int(11) NOT NULL auto_increment, PRIMARY KEY  (`LOGID`)) ENGINE=InnoDB DEFAULT CHARSET=gbk

弱智问题四:

做报表的时候,需要查出内容为Null的记录,在查询条件里面写了“XX=null”,结果怎么也查不出来,郁闷半天,后来试了下“XX is null”,就查出来了,哎,俺真是够白痴的了!

 

转载于:https://www.cnblogs.com/jinqiuqiu1120/archive/2008/09/24/1296144.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值