日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網(wǎng)為廣大站長(zhǎng)提供免費(fèi)收錄網(wǎng)站服務(wù),提交前請(qǐng)做好本站友鏈:【 網(wǎng)站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(wù)(50元/站),

點(diǎn)擊這里在線咨詢客服
新站提交
  • 網(wǎng)站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會(huì)員:747

MySQL報(bào)錯(cuò)找不到問(wèn)題?可能是你的SQL用了關(guān)鍵字

 

現(xiàn)在使用navicat圖形界面或者Hibernate做映射生成表的時(shí)候,漸漸的會(huì)忽視掉關(guān)鍵字這個(gè)問(wèn)題,而后續(xù)也會(huì)不斷的產(chǎn)生錯(cuò)誤提示,一遍遍的查詢代碼無(wú)果,甚至開(kāi)始懷疑人生,但是其實(shí)很多情況下只是使用了保留字而已,因此在設(shè)計(jì)數(shù)據(jù)庫(kù)之初便要盡量的規(guī)避關(guān)鍵字和保留字。

但是這里要提一下的是MySQL是支持使用關(guān)鍵字做字段名的,但是針對(duì)保留關(guān)鍵字是必須要加引用。mysql官網(wǎng)提供了三個(gè)例子是可以很好的說(shuō)明這些的。

interval begin、end都是關(guān)鍵字,interval是保留關(guān)鍵字,因此會(huì)報(bào)錯(cuò)
mysql> CREATE TABLE interval (begin INT, end INT);
ERROR 1064 (42000): You have an error in your SQL syntax ...
near 'interval (begin INT, end INT)'

當(dāng)給interval加上引用''后便可以正確執(zhí)行該sql語(yǔ)句,也不會(huì)報(bào)begin、end的錯(cuò),因?yàn)檫@是mysql允許的,但是不推薦這個(gè)用法,誰(shuí)知道升級(jí)之后會(huì)不會(huì)變成保留字。。。。。。

mysql> CREATE TABLE `interval` (begin INT, end INT);
Query OK, 0 rows affected (0.01 sec)

(這個(gè)可以略過(guò),,,,,反正不推薦使用關(guān)鍵字做這些事,)還有一種情況——內(nèi)置函數(shù)的名字,官網(wǎng)是這樣說(shuō)的:

Names of built-in functions are permitted as identifiers but may require care to be used as such

mysql> CREATE TABLE mydb.interval (begin INT, end INT);
Query OK, 0 rows affected (0.01 sec)

下面的鏈接是最新版的mysql的關(guān)鍵字和保留字的表,可以在設(shè)計(jì)時(shí)多查一查,(R)是保留關(guān)鍵字

有些人可能還不明白關(guān)鍵字和保留字的區(qū)別,簡(jiǎn)單的說(shuō),關(guān)鍵字分兩種:非保留和保留,保留關(guān)鍵字又有一個(gè)特殊類別叫未來(lái)保留。

mysql5.7官方文檔地址:https://dev.mysql.com/doc/refman/5.7/en/keywords.html

解決辦法 https://blog.csdn.net/RightBeforeTheSix/article/details/80395920

1、看寫的SQL語(yǔ)句

insert into mrt_course(describe,price,add_time,class_id,is_top ) values ( '你好',25,1524313377,1,0)

2、問(wèn)題顯示 : 是MySQL的關(guān)鍵字,這樣插入會(huì)顯示以下錯(cuò)誤

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 'describe,price,add_time,class_id,status,is_top ) values ( '你好',25,1524313377' at line 1

3、解決方法,在關(guān)鍵字上加上英文的 `describe` ,就可以插入了;在Navicat里面寫的時(shí)候會(huì)自動(dòng)添加``

insert into mrt_course(`describe`,price,add_time,class_id,is_top ) values ( '你好',25,1524313377,1,0)

分享到:
標(biāo)簽:報(bào)錯(cuò) MySQL
用戶無(wú)頭像

網(wǎng)友整理

注冊(cè)時(shí)間:

網(wǎng)站:5 個(gè)   小程序:0 個(gè)  文章:12 篇

  • 51998

    網(wǎng)站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會(huì)員

趕快注冊(cè)賬號(hào),推廣您的網(wǎng)站吧!
最新入駐小程序

數(shù)獨(dú)大挑戰(zhàn)2018-06-03

數(shù)獨(dú)一種數(shù)學(xué)游戲,玩家需要根據(jù)9

答題星2018-06-03

您可以通過(guò)答題星輕松地創(chuàng)建試卷

全階人生考試2018-06-03

各種考試題,題庫(kù),初中,高中,大學(xué)四六

運(yùn)動(dòng)步數(shù)有氧達(dá)人2018-06-03

記錄運(yùn)動(dòng)步數(shù),積累氧氣值。還可偷

每日養(yǎng)生app2018-06-03

每日養(yǎng)生,天天健康

體育訓(xùn)練成績(jī)?cè)u(píng)定2018-06-03

通用課目體育訓(xùn)練成績(jī)?cè)u(píng)定