<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    qiyadeng

    專注于Java示例及教程
    posts - 84, comments - 152, trackbacks - 0, articles - 34

    注意MySQL的保留字陷阱

    Posted on 2007-04-22 23:34 qiyadeng 閱讀(2885) 評論(1)  編輯  收藏

       今天在調試程序中發現類似下面這種錯誤

    - SQL Error: 1064, SQLState: 42000- You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'REQUIRE, PLAN_DATE, COMPILE, AUDITOR, AGREE_PERSON, AGREE_DATE, ADD_BY, MOD_BY, ' at line 1- Could not synchronize database state with sessionorg.hibernate.exception.SQLGrammarException: Could not execute JDBC batch update


    找了半天也沒發現是什么錯誤,搜索多數認為是 hbm.xml中catalog中引起的問題,但我檢查了發現不是配置文件引起的問題。后來聯想到是不是MySQL的保留字的問題,找到http://dev.mysql.com/doc/refman/5.1/zh/language-structure.html#reserved-words,果然是。
    MySQL的保留字有以下這些,使用中需要注意。
    ADD ALL ALTER
    ANALYZE AND AS
    ASC ASENSITIVE BEFORE
    BETWEEN BIGINT BINARY
    BLOB BOTH BY
    CALL CASCADE CASE
    CHANGE CHAR CHARACTER
    CHECK COLLATE COLUMN
    CONDITION CONNECTION CONSTRAINT
    CONTINUE CONVERT CREATE
    CROSS CURRENT_DATE CURRENT_TIME
    CURRENT_TIMESTAMP CURRENT_USER CURSOR
    DATABASE DATABASES DAY_HOUR
    DAY_MICROSECOND DAY_MINUTE DAY_SECOND
    DEC DECIMAL DECLARE
    DEFAULT DELAYED DELETE
    DESC DESCRIBE DETERMINISTIC
    DISTINCT DISTINCTROW DIV
    DOUBLE DROP DUAL
    EACH ELSE ELSEIF
    ENCLOSED ESCAPED EXISTS
    EXIT EXPLAIN FALSE
    FETCH FLOAT FLOAT4
    FLOAT8 FOR FORCE
    FOREIGN FROM FULLTEXT
    GOTO GRANT GROUP
    HAVING HIGH_PRIORITY HOUR_MICROSECOND
    HOUR_MINUTE HOUR_SECOND IF
    IGNORE IN INDEX
    INFILE INNER INOUT
    INSENSITIVE INSERT INT
    INT1 INT2 INT3
    INT4 INT8 INTEGER
    INTERVAL INTO IS
    ITERATE JOIN KEY
    KEYS KILL LABEL
    LEADING LEAVE LEFT
    LIKE LIMIT LINEAR
    LINES LOAD LOCALTIME
    LOCALTIMESTAMP LOCK LONG
    LONGBLOB LONGTEXT LOOP
    LOW_PRIORITY MATCH MEDIUMBLOB
    MEDIUMINT MEDIUMTEXT MIDDLEINT
    MINUTE_MICROSECOND MINUTE_SECOND MOD
    MODIFIES NATURAL NOT
    NO_WRITE_TO_BINLOG NULL NUMERIC
    ON OPTIMIZE OPTION
    OPTIONALLY OR ORDER
    OUT OUTER OUTFILE
    PRECISION PRIMARY PROCEDURE
    PURGE RAID0 RANGE
    READ READS REAL
    REFERENCES REGEXP RELEASE
    RENAME REPEAT REPLACE
    REQUIRE RESTRICT RETURN
    REVOKE RIGHT RLIKE
    SCHEMA SCHEMAS SECOND_MICROSECOND
    SELECT SENSITIVE SEPARATOR
    SET SHOW SMALLINT
    SPATIAL SPECIFIC SQL
    SQLEXCEPTION SQLSTATE SQLWARNING
    SQL_BIG_RESULT SQL_CALC_FOUND_ROWS SQL_SMALL_RESULT
    SSL STARTING STRAIGHT_JOIN
    TABLE TERMINATED THEN
    TINYBLOB TINYINT TINYTEXT
    TO TRAILING TRIGGER
    TRUE UNDO UNION
    UNIQUE UNLOCK UNSIGNED
    UPDATE USAGE USE
    USING UTC_DATE UTC_TIME
    UTC_TIMESTAMP VALUES VARBINARY
    VARCHAR VARCHARACTER VARYING
    WHEN WHERE WHILE
    WITH WRITE X509
    XOR YEAR_MONTH ZEROFILL

    Feedback

    # re: 注意MySQL的保留字陷阱  回復  更多評論   

    2007-04-23 01:15 by 山風小子
    這個問題我也遇到過,花了好長時間才發現問題的根源的 :)

    只有注冊用戶登錄后才能發表評論。


    網站導航:
    博客園   IT新聞   Chat2DB   C++博客   博問  
     
    主站蜘蛛池模板: 四虎国产精品免费永久在线| 一级黄色免费网站| 日本免费人成在线网站| 精品日韩99亚洲的在线发布| 久久久99精品免费观看| 亚洲专区先锋影音| 色se01短视频永久免费| 99999久久久久久亚洲| 久久久久国色AV免费观看性色| 激情内射亚洲一区二区三区爱妻| 在人线av无码免费高潮喷水| 亚洲日韩av无码中文| 宅男666在线永久免费观看| 无套内射无矿码免费看黄 | 免费下载成人电影| 天堂亚洲国产中文在线| 青青草国产免费久久久下载 | 亚洲国产夜色在线观看| 免费av欧美国产在钱| 久久亚洲精品无码av| 国产亚洲精品免费视频播放| 一级毛片在线观看免费| 亚洲日韩国产二区无码| 亚洲国产av无码精品| 99精品免费观看| 亚洲无码一区二区三区| 亚洲熟妇少妇任你躁在线观看无码| 最新久久免费视频| 亚洲一级特黄特黄的大片| 亚洲成A人片在线观看中文| 日韩电影免费在线观看| 亚洲午夜无码久久| 日韩亚洲人成在线综合日本| 永久免费毛片在线播放| fc2免费人成在线视频| 亚洲成人福利在线观看| 亚洲日本韩国在线| 999国内精品永久免费观看| 国产99久久久久久免费看| 亚洲午夜精品在线| 亚洲无av在线中文字幕|