如果你選擇了count()列,group by 子句應存在相同名稱的列。否則,將發生一下錯誤:
如果 only_full_group_by 啟用sql模式,會發生乙個錯誤:
mysql> set sql_mode = 'only_full_group_by';
query ok, 0 rows affected, 1 warning (0.22 sec)
mysql> select owner, count(*) from pet;
error 1140 (42000): in aggregated query without group by, expression #1 of select list contains nonaggregated column 'menagerie.pet.owner'; this is incompatible with sql_mode=only_full_group_by
如果 only_full_group_by 沒有啟用,查詢會作為乙個單獨的組出來,
但為每個指定的列選定的值是不確定的。mysql服務可以自由選擇任何行中的值:
mysql> set sql_mode = '';
query ok, 0 rows affected (0.00 sec)
MySQL SQL注入
防止sql注入,我們需要注意以下幾個要點 1.永遠不要信任使用者的輸入。對使用者的輸入進行校驗,可以通過正規表示式,或限制長度 對單引號和雙 進行轉換等。2.永遠不要使用動態拼裝sql,可以使用引數化的sql或直接使用儲存過程進行資料查詢訪問。3.永遠不要使用管理員許可權的資料庫連線,為每個應用使用...
mySQL SQL命令大全
有很多朋友雖然安裝好了mysql但卻不知如何使用它。在這篇文章中我們就從連線mysql 修改密碼 增加使用者等方面來學習一些mysql的常用命令。一 連線mysql。1 例1 連線到本機上的mysql。首先在開啟dos視窗,然後進入目錄 mysqlbin,再鍵入命令mysql uroot p,回車後...
mySQL SQL命令大全
有很多朋友雖然安裝好了mysql但卻不知如何使用它。在這篇文章中我們就從連線mysql 修改密碼 增加使用者等方面來學習一些mysql的常用命令。一 連線mysql。1 例1 連線到本機上的mysql。首先在開啟dos視窗,然後進入目錄 mysqlbin,再鍵入命令mysql uroot p,回車後...