私は2つのテーブルを持っています。そのうちの 1 つは制限数を保持します。
そして、私は次のようなSQLを実行しようとしています
SELECT * FROM table WHERE x='1' LIMIT (another query)
準備済みステートメントを使用します。
PREPARE stmt FROM "SELECT * FROM table WHERE x='1' LIMIT ?";
SET @limit = (another query);
EXECUTE stmt USING @limit;
MySQL では、通常のクエリを使用してそれを行うことはできません。LIMIT 句では変数を使用できません。LIMIT 句は定数のみを受け入れます。
通常のクエリの代わりにストアド プロシージャを使用する必要があります。
SPコード内で次のようなものを使用してみてください:
DECLARE offset bigint
SELECT your_field INTO offset FROM your_table where your_conditions
SELECT * FROM other_table LIMIT offset;
Select TOP 句は行数を制限します。表情を入れることができます
\私が数人に提案したことは、選択ステートメントからSQLを生成して実行することです。これが私の解決策です:
SELECT "select * from other_table LIMIT ", your_field
FROM your_table where your_conditions
次に、この新しい SQL を実行します。もちろん、これは UNIX/Linux およびスクリプト言語で最適に機能します。