小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

mysql 報(bào)錯(cuò) 異常 exception

 一本正經(jīng)地胡鬧 2019-11-07

mysql報(bào)錯(cuò):1406, "Data too long for column

pymysql.err.DataError: (1406, “Data too long for column 'songlist_url’ at row 1”)

查看網(wǎng)上資料有說因?yàn)閿?shù)據(jù)庫中設(shè)置的字符長度不夠,我加長了以后依然會(huì)報(bào)錯(cuò)。另一種說法是由于輸入了中文,編碼出現(xiàn)了問題。

查看MySQL的status;,發(fā)現(xiàn):

Server characterset: latin1 Db characterset: latin1 Client

characterset: latin1 把latin1改換成utf8編碼:

mysql> set character_set_client=utf8 ; mysql> set

character_set_connection=utf8 ; mysql> set character_set_database=utf8

; mysql> set character_set_server=utf8 ;

然后再用status;查看,編碼轉(zhuǎn)為utf8了,再繼續(xù)運(yùn)行…

但還是報(bào)錯(cuò):pymysql.err.DataError: (1406, "Data too long for column)

在stackoverflow找到了方法

在MySQL中設(shè)置這個(gè):

mysql> SET @@global.sql_mode= '’;

就可以運(yùn)行了?。?/p>

原因是:

MySQL will truncate any insert value that exceeds the specified column

width. to make this without error try Switch your MySQL mode to not

use STRICT.

意思大概是MySQL將截?cái)喑^指定列寬度的任何插入值。為了讓這個(gè)不報(bào)錯(cuò),你可以嘗試切換你的MySQL模式不使用嚴(yán)格模式。

————————————————


原文鏈接:https://blog.csdn.net/wangqingbang/article/details/90900290


Error:1294–Invalid ON UPDATE clause for “xxx” column的問題

在mysql數(shù)據(jù)庫建表的過程中,忘記改寫默認(rèn)字段,導(dǎo)致出現(xiàn)1294的錯(cuò)誤,如下所示:

這并不是長度不夠或者默認(rèn)為0,而是忘記設(shè)置當(dāng)前時(shí)間。本人以mysql數(shù)據(jù)庫可視化工具navicat為例說明。首先打開建表字段,time類型為timestamp,設(shè)置非空,如圖所示:

接著改變default的值為空,并且去掉On Update Curren_Timestamp前面的√,然后ctrl+s保存即可。

接下來插入的數(shù)據(jù)就會(huì)顯示相應(yīng)的時(shí)間戳。

轉(zhuǎn)自 https://www.cnblogs.com/zhangbolg/articles/9671813.html

導(dǎo)入sql遇到Invalid ON UPDATE

目的:將本地的sql數(shù)據(jù)導(dǎo)入到mysql中

問題1:導(dǎo)入過程中遇到了異常 Error Code: 1294 - Invalid ON UPDATE clause for 'comment_time' column

原因

當(dāng)執(zhí)行update操作是,并且字段有ON UPDATE CURRENT_TIMESTAMP屬性。則字段無論值有沒有變化,它的值也會(huì)跟著更新為當(dāng)前UPDATE操作時(shí)的時(shí)間。

從高版本的mysql導(dǎo)數(shù)據(jù)到低版本往往會(huì)有這個(gè)錯(cuò)誤,MySQL 5.5 每個(gè)表只允許一個(gè)列的默認(rèn)值根據(jù)時(shí)間戳生成時(shí)間 。去掉即可。

解決方法:去掉ON UPDATE CURRENT_TIMESTAMP;

轉(zhuǎn)自 https://www.cnblogs.com/rachelgarden/p/11336790.html

MySQL 5.6.5之前版本不支持多條DEFAULT CURRENT_TIMESTAMP和ON UPDATE CURRENT TIMESTAMP

創(chuàng)建數(shù)據(jù)表時(shí)失敗,提示以下信息:
09-13-2016 07:47:49 ERROR o.h.t.h.SchemaUpdate [https-jsse-nio-443-exec-6] HHH000388: Unsuccessful: create table users (id bigint not null auto_increment, createdOn DATETIME DEFAULT CURRENT_TIMESTAMP, token varchar(33) not null unique, updatedOn DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, userName varchar(65) not null unique, primary key (id))09-13-2016 07:47:49 ERROR o.h.t.h.SchemaUpdate [https-jsse-nio-443-exec-6] Invalid default value for 'createdOn'

查找原因,發(fā)現(xiàn)是由于以下導(dǎo)致的:
createdOn DATETIME DEFAULT CURRENT_TIMESTAMP
updatedOn DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE

http://www./MySQL-timestamp.aspx中有句話:
Note that since mysql 5.6.5, the DATETIME data type also has automatic initialization and automatic update feature. In addition, the DEFAULT_CURRENT_TIMESTAMP and ON UPDATE CURRENT TIMESTAMP attributes can be applied to multiple columns, not just 1 column in the previous versions.
即對(duì)于5.6.5之前的MySQL版本,不支持多條同時(shí)使用 DEFAULT CURRENT_TIMESTAMP和ON UPDATE CURRENT TIMESTAMP特性,使用mysql -v查了下我現(xiàn)在使用的mysql版本為5.5.49,即不支持多條同時(shí)使用。因此將mysql更新至5.6.31,問題解決。

轉(zhuǎn)自 https://www.jianshu.com/p/15b03cdfeaa7

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多