這個資料庫函式坑不少;總的來說還是自己經驗欠缺;記錄一下爬坑之路
這個是函式的語法;
然後把最簡單的sql函式複製進去然後就報錯了;
當時就是臥槽---最簡單的都報錯 檢視錯誤
1418 - this function has none of deterministic, no sql, or reads sql data in
大概意思就是:
mysql開啟bin-log後,呼叫儲存過程或者函式以及觸發器時,會出現錯誤號為1418的錯誤:
原因:這是我們開啟了bin-log, 我們就必須指定我們的函式是否是
1 deterministic 不確定的
2 no sql 沒有sql語句,當然也不會修改資料
3 reads sql data 只是讀取資料,當然也不會修改資料
4 modifies sql data 要修改資料
5 contains sql 包含了sql語句
其中在function裡面,只有 deterministic, no sql 和 reads sql data 被支援。如果我們開啟了 bin-log, 我們就必須為我們的function指定乙個引數。
最簡潔的方法修改log_bin
在mysql中建立函式時出現這種錯誤的解決方法:
set global log_bin_trust_function_creators=true;
mysql自定義函式優點 MySQL自定義函式
在使用 mysql 的過程中,mysql 自帶的函式可能完成不了我們的業務需求,這時候就需要自定義函式。自定義函式是一種與儲存過程十分相似的過程式資料庫物件。它與儲存過程一樣,都是由 sql 語句和過程式語句組成的 片段,並且可以被應用程式和其他 sql 語句呼叫。自定義函式與儲存過程之間存在幾點區...
mysql自定義函式命名 MySQL自定義函式
在使用 mysql 的過程中,mysql 自帶的函式可能完成不了我們的業務需求,這時候就需要自定義函式。自定義函式是一種與儲存過程十分相似的過程式資料庫物件。它與儲存過程一樣,都是由 sql 語句和過程式語句組成的 片段,並且可以被應用程式和其他 sql 語句呼叫。自定義函式與儲存過程之間存在幾點區...
mysql 自定義函式
今天要做乙個排序,有中文和英文的,資料庫採用utf8編碼,排除來的不對,所以需要將中文轉換成中文的第乙個字母,然後來排序 先小小的看一下mysql的自定義函式 drop function if exists fntable 如果存在就刪除 delimiter 函式開始 create function...