在一個新的mysql環境執行原來的程序,提示語法錯誤,經查看發現環境的mysql版本是mysql8,groups一詞在mysql8.0.2起成了保留關鍵字,暫時用`groups`寫法代替,後續還是應該注意避免,這種坑洞也是防不勝防。
You have an error in your SQL syntax...
官方文件:https://dev.mysql.com/doc/refman/8.0/en/keywords.html
在一個新的mysql環境執行原來的程序,提示語法錯誤,經查看發現環境的mysql版本是mysql8,groups一詞在mysql8.0.2起成了保留關鍵字,暫時用`groups`寫法代替,後續還是應該注意避免,這種坑洞也是防不勝防。
You have an error in your SQL syntax...
官方文件:https://dev.mysql.com/doc/refman/8.0/en/keywords.html
MySQL中group_concat函數可以將分組的指定欄位合併成一行內容,用來作列轉行比較適合。
完整的語法如下:
group_concat([DISTINCT] 要連接的欄位 [Order BY ASC/DESC 排序欄位] [Separator '分隔符號'])
預設分隔符號為英文逗號
範例:
select id,group_concat(distinct name) from table group by id;
需要注意的是合併後欄位長度有預設限制
參考:
HTTPS://嗚嗚嗚.ITeye.com/blog/號稱沒說過-555543
HTTP://嗚嗚嗚.媽咪code.com/info-detail-1389878.HTML
HTTPS://嗚嗚嗚.cn blog上.com/放入Anson-2016/怕/6911631.HTML
HTTPS://嗚嗚嗚.cn blog上.com/瀏覽器1214/怕/11202866.HTML
在php+mysql的開發過程中,連接資料庫的主機名稱填寫時,本機一般可以用localhost或127.0.0.1,實際應用過程中,Linux系統目前還沒發現過異常,但在Windows server系統中,有的時候寫localhost,網頁反應就會出現比較慢的情況,一般一頁都需要1秒以上,一步步對程式運行時間判斷,發現是mysql連線時候的問題,建立一個連線需要將近1秒,必然是有問題的,搜尋之,發現確實存在這個情況,很多程式設計師部落格都有反應,摘抄記錄如下:
HTTP://blog.斯納.com.才能/是/blog_6成本5啊76發0100一幅畫哦.HTML
最近發現程式反應時間有點慢,於是逐漸的排除,計算每段程式執行的時間,最後發現時間損耗都花在了連結資料庫上,資料庫連結也沒有什麼好的辦法,於是便放下它了。
隔天,我測試一下資料庫的遠端鏈接,發現我用IP訪問資料庫的執行時間很短要遠遠小於我在本地用localhost連接資料庫。於是便有了下面一段測驗:
Mysql資料庫從檔案匯入或匯出到文件,提示The MySQL server is running with the --secure-file-priv option so it cannot execute this statement ,原因及解決方法如下:
一些版本的mysql對透過檔案導入導出作了限制,預設不允許,
查看配置,執行mysql指令
SHOW VARIABLES LIKE "secure_file_priv";
如果value值為null,則為禁止,如果有資料夾目錄,則只允許改目錄下檔案(測試子目錄也不行),如果為空,則不限制目錄;
修改配置可修改mysql配置文件,查看是否有
secure_file_priv =
這樣一行內容,如果沒有,手動添加,
secure_file_priv = /home
表示限制為/home資料夾