欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

mysql 存儲(chǔ)過程的問題

 更新時(shí)間:2009年06月05日 23:57:46   作者:  
最近我接觸了一本php 與 mysql,老外寫的一本書,書中有個(gè)tshirtshop網(wǎng)店代碼,其中操作數(shù)據(jù)庫(kù)的大多用的是mysql存儲(chǔ)過程
一開始用phpMyAdmin來執(zhí)行,后來出現(xiàn)一堆錯(cuò)誤,后來去掉了begin,end之后可以正常執(zhí)行,但要執(zhí)行存儲(chǔ)過程,在phpMyAdmn中不行,而在mysql命令行文本框中就可以。
接下來又遇到更難的問題,在存儲(chǔ)過程中加入預(yù)處理語(yǔ)句,更不行了,在mysql命令行文本框下執(zhí)行同樣,下面的運(yùn)行記錄,給大家參考,能否有高手來幫助。
復(fù)制代碼 代碼如下:

mysql> CREATE PROCEDURE catalog_get_products_in_category(
-> IN inCategoryId INT, IN inShortProductDescriptionLength INT,
-> IN inProductsPerPage INT, IN inStartItem INT)
-> begin
-> SELECT p.product_id, p.name,IF(LENGTH(p.description) <= inShortProductD
escriptionLength, p.description,
-> CONCAT(LEFT(p.description, inShortProductDescriptionLength),'...')) AS
description, p.price, p.discounted_price, p.thumbnail
-> FROM product p INNER JOIN product_category pc ON p.product_id = pc.pro
duct_id
-> WHERE pc.category_id = inCategoryId
-> ORDER BY p.display DESC
-> LIMIT inStartItem;inProductsPerPage;
-> end$$
ERROR 1064 (42000): 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 'inSta
rtItem;inProductsPerPage;
end' at line 10

//原本的存儲(chǔ)過程語(yǔ)句
EATE PROCEDURE catalog_get_products_in_category(
IN inCategoryId INT, IN inShortProductDescriptionLength INT,
IN inProductsPerPage INT, IN inStartItem INT)
BEGIN
PREPARE statement FROM
"SELECT p.product_id, p.name,IF(LENGTH(p.description) <= ?, p.description,
CONCAT(LEFT(p.description, ?),'...')) AS description, p.price, p.discounted_price, p.thumbnail
FROM product p INNER JOIN product_category pc ON p.product_id = pc.product_id
WHERE pc.category_id = ?
ORDER BY p.display DESC
LIMIT ?, ?";
SET @p1 = inShortProductDescriptionLength;
SET @p2 = inShortProductDescriptionLength;
SET @p3 = inCategoryId;
SET @p4 = inStartItem;
SET @p5 = inProductsPerPage;
EXECUTE statement USING @p1, @p2, @p3, @p4, @p5;
END$$

mysql> delimiter $$
mysql> CREATE PROCEDURE catalog_get_products_in_category(
-> IN inCategoryId INT, IN inShortProductDescriptionLength INT,
-> IN inProductsPerPage INT, IN inStartItem INT)
-> BEGIN
-> PREPARE statement FROM
-> "SELECT p.product_id, p.name,IF(LENGTH(p.description) <= ?, p.descript
ion,
"> CONCAT(LEFT(p.description, ?),'...')) AS description, p.price, p.disco
unted_price, p.thumbnail
"> FROM product p INNER JOIN product_category pc ON p.product_id = pc.pro
duct_id
"> WHERE pc.category_id = ?
"> ORDER BY p.display DESC
"> LIMIT ?, ?";
-> SET @p1 = inShortProductDescriptionLength;
-> SET @p2 = inShortProductDescriptionLength;
-> SET @p3 = inCategoryId;
-> SET @p4 = inStartItem;
-> SET @p5 = inProductsPerPage;
-> EXECUTE statement USING @p1, @p2, @p3, @p4, @p5;
-> END$$
ERROR 1314 (0A000): PREPARE is not allowed in stored procedures

上面有兩個(gè)存儲(chǔ)過程,一個(gè)不用預(yù)處理語(yǔ)句,一個(gè)用了預(yù)處理語(yǔ)句,
之后,向作者發(fā)過郵件,沒有答復(fù),又給mysql官方發(fā)過郵件,同樣沒答復(fù)?,F(xiàn)今只能求助諸位高人。

相關(guān)文章

  • django2.2版本連接mysql數(shù)據(jù)庫(kù)的方法

    django2.2版本連接mysql數(shù)據(jù)庫(kù)的方法

    這篇文章主要介紹了django2.2版本如何連接mysql數(shù)據(jù)庫(kù),本文圖文并茂給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-10-10
  • 適合新手的mysql日期類型轉(zhuǎn)換實(shí)例教程

    適合新手的mysql日期類型轉(zhuǎn)換實(shí)例教程

    Mysql作為一款開元的免費(fèi)關(guān)系型數(shù)據(jù)庫(kù),用戶基礎(chǔ)非常龐大,下面這篇文章主要給大家介紹了關(guān)于mysql日期類型轉(zhuǎn)換的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-08-08
  • mysql 判斷是否為子集的方法步驟

    mysql 判斷是否為子集的方法步驟

    這篇文章主要介紹了mysql 判斷是否為子集的方法步驟,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-02-02
  • 一篇文章弄懂MySQL查詢語(yǔ)句的執(zhí)行過程

    一篇文章弄懂MySQL查詢語(yǔ)句的執(zhí)行過程

    這篇文章主要給大家介紹了如何通過一篇文章弄懂MySQL查詢語(yǔ)句的執(zhí)行過程的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-05-05
  • 探討:sql插入空,默認(rèn)1900-01-01 00:00:00.000的解決方法詳解

    探討:sql插入空,默認(rèn)1900-01-01 00:00:00.000的解決方法詳解

    本篇文章是對(duì)sql插入空,默認(rèn)1900-01-01 00:00:00.000的解決方法進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
    2013-06-06
  • MYSQL增加索引語(yǔ)句小結(jié)

    MYSQL增加索引語(yǔ)句小結(jié)

    這篇文章主要給大家介紹了關(guān)于MYSQL增加索引的相關(guān)資料,索引是一種特殊的文件(InnoDB數(shù)據(jù)表上的索引是表空間的一個(gè)組成部分),它們包含著對(duì)數(shù)據(jù)表里所有記錄的引用指針,需要的朋友可以參考下
    2023-09-09
  • MySQL8.0.3 RC版即將發(fā)布 先來看看有哪些變化

    MySQL8.0.3 RC版即將發(fā)布 先來看看有哪些變化

    MySQL8.0.3 RC版即將發(fā)布,這篇文章主要介紹了MySQL8.0.3 RC版的一些新變化,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-09-09
  • linux mysql忘記密碼的多種解決或Access denied for user ''root''@''localhost''

    linux mysql忘記密碼的多種解決或Access denied for user ''root''@''local

    linux mysql忘記密碼的多種解決方法。
    2009-07-07
  • Mysql 1864 主從錯(cuò)誤解決方法

    Mysql 1864 主從錯(cuò)誤解決方法

    本文給大家?guī)砹薓ysql 1864 主從錯(cuò)誤解決方法,本文介紹的非常詳細(xì),具有參考借鑒價(jià)值,需要的朋友可以參考下
    2016-08-08
  • 深入解析MySQL雙寫緩沖區(qū)

    深入解析MySQL雙寫緩沖區(qū)

    雙寫緩沖區(qū)是MySQL中的一種優(yōu)化方式,主要用于提高數(shù)據(jù)的寫性能,本文將介紹Doublewrite Buffer的原理和應(yīng)用,幫助讀者深入理解其如何提高M(jìn)ySQL的數(shù)據(jù)可靠性并防止可能的數(shù)據(jù)損壞,感興趣的可以了解一下
    2024-02-02

最新評(píng)論