當前位置:首頁 » 編程語言 » sql語句添加為什麼出錯
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

sql語句添加為什麼出錯

發布時間: 2022-11-29 23:20:42

1. sql插入語句提示錯誤

你這應該是DATE_FORMAT(time,'%Y-%c')這個欄位的結果轉換不成日期格式。你這個不是正常的日期格式吧,再補個01吧,補成正常的日期yyyy-MM-dd這種的。或者直接用date類型的,省的轉換了

2. SQL語句中文插入不成功

A. 字元編碼:

「使用命令行方式登陸到MySQL伺服器, 建立一個資料庫,資料庫編碼設為UTF-8。此時,如果直接在命令行窗口使用insert語句插入中文,就遇到類似 ERROR 1406 (22001): Data too long for column 'name' at row 1 錯誤。乍一看,是欄位長度引起的問題,但是實際是字元編碼的問題。可是嘗試以下解決方法:
1、在Linux中,使用終端方式登陸MySQL伺服器,運行以下命令:
set names utf8;
該命令將終端的字元編碼設為了UTF-8。此後再插入資料庫中的內容都會按照UTF-8的編碼來處理。
注意:在Linux中,終端方式中直接插入中文內容,可能並不會出現1406錯誤,但是這時插入的數據
是按照系統的默認編碼進行處理。因此對編碼為UTF-8的資料庫,在顯示數據的地方可能會出現亂碼。

2、在Windows下,命令行窗口不支持UTF-8編碼,所以使用「set names utf8;」不會達到轉化中文的
效果。但是這個問題還是可以解決的:
(1)使用默認編碼建立資料庫。這種情況下就可以直接輸入中文了,但是相應的問題,就是會
失去UTF-8編碼的靈活性。特別是不利於軟體的國際化。
(2)放棄命令行窗口登錄MySQL,使用圖形化客戶端。客戶端工具可以MySQL的官方網站上找到。」

B. Mysql配置文件:
「在my.ini里找到sql- mode='STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION'把其中 的STRICT_TRANS_TABLES,去掉,或者把sql- mode=STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION注釋掉,然 後重啟mysql就ok了」

3. 為什麼我的sql 插入失敗 請高手解答!

請把提示信息帖出來,插入失敗一般原因:
1.欄位和值不一致。
2.數據類型強制轉換錯誤。
3.標點符號。
4.數據類型長度。
通過上述幾個方面可以找出你的問題答案,當然原因不止這一些。

4. 寫SQL語句的時候老是顯示語法錯誤,語法錯誤到底是指什麼

可以先在查詢分析器里驗證一下SQL語句是否正確,通常語法錯誤大多數都是由字元串格式引起的,比如:日期型,數字型代入一個字元串變數,還有多個條件時,逗號也是常見的問題。細心檢查一下。