問題タブ [drop-table]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
10207 参照

mysql - ストアド プロシージャで var が NULL であることを確認する

すべてのテーブルを削除するスクリプトがあります。

少なくとも1つのテーブルが存在する場合、完全に機能するのは1回だけです。2回目の実行でエラーが発生します:

SQL 構文にエラーがあります。1行目のSQL.sql 9 1の近くで「NULL」を使用する正しい構文については、MySQLサーバーのバージョンに対応するマニュアルを確認してください。

IF ステートメントを使用しようとしていますが、まだ機能しません。

SQL 構文にエラーがあります。MySQL サーバーのバージョンに対応するマニュアルで、1 行目の SQL.sql 8 1 の近くで 'if @tables IS NOT NULL THEN SET @tables = CONCAT('DROP TABLE ', @tables)' を使用する正しい構文を確認してください。

この場合、IF を使用する正しい方法は何ですか?

0 投票する
5 に答える
66569 参照

database - テーブルがSQLステートメントに存在する場合、Oracleデータベースからテーブルを削除します

テーブルを削除するには SQL ステートメントを使用する必要があります。テーブルが存在しない場合はクラッシュします。IFステートメントを 使用してテーブルを削除することは可能ですかs.executeUpdate("DROP TABLE employee");

0 投票する
1 に答える
881 参照

mysql - MySQL バージョン 5.5.37: CURSOR を使用して 30 日より古いテーブルを削除する

クエリ結果からすべての行を取得し、それらを個別に処理する方法を見つけようと研究しています。うまくいくと思っていたスクリプトを書きましたが、どうやらそうではないようです。

スクリプト:

このスクリプトは、30 日以上経過したすべてのテーブルを削除することを目的としています。MySQL バージョン 5.5.37 では動作しないようですが。

MySQL は初めてで、MySQL for Windows (XP) でサーバーを実行しています。CURSORS のこの構文は、対応するサーバーのバージョンに対して正しくないのでしょうか? よくわかりませんが、誰かが私を助けてくれたらとてもうれしいです。

編集:

これは、SQL コマンド ラインからスクリプトを実行しようとしたときに返されるエラー メッセージです。

エラー 1064 (42000): SQL 構文にエラーがあります。

1 行目の 'DECLARE @name char(20)' 付近で使用する正しい構文については、MySQL サーバーのバージョンに対応するマニュアルを確認してください。

エラー 1064 (42000): SQL 構文にエラーがあります。

MySQL サーバーのバージョンに対応するマニュアルで、1 行目の 'DECLARE c1 CURSOR READ_ONLY FOR SELECT table_name FROM information_schema.tables' 付近で使用する正しい構文を確認してください。

エラー 1064 (42000): SQL 構文にエラーがあります。near 'FETCH NEXT FROM c1 INTO @table_name を使用する正しい構文については、MySQL サーバーのバージョンに対応するマニュアルを確認してください。

WHILE @@FETCH_STATUS = 0 BEGIN

PREPARE st' at line 1

アップデート:

このスクリプトも試しました (注: 30 日以上経過したテーブルを削除するために毎日実行されるイベントを作成するつもりです)。

このスクリプトを SQL コマンド ラインで実行すると、以下が返されます。

エラー 1064 (42000): SQL 構文にエラーがあります。

'@name char(20); の近くで使用する正しい構文については、MySQL サーバーのバージョンに対応するマニュアルを確認してください。DECLARE c1 CURSOR READ_ONLY FOR SELECT table_name FROM infor' 5 行目

0 投票する
1 に答える
2013 参照

sql - 一時テーブルの切り捨てと削除を使用するためのベスト プラクティス

そのため、TRUNCATE と DROP の使用に関して SQL 標準を調査しています。私の会社は、DROP の前に TRUNCATE を標準のコーディング規則として使用するか、DROP のみを使用するかを決定しようとしています。通常、DROP だけでなく、TRUNCATE と DROP を常に使用してきました。

この以前に回答された質問によると、両方を使用する理由はないようです: https://dba.stackexchange.com/questions/4163/why-use-both-truncate-and-drop

上記のリンクは、TRUNCATE を使用すると不要なオーバーヘッドが発生することにも対処しています。

しかし、DROP だけでなく TRUNCATE と DROP の両方を使用している人が多いようですが、DROP の前に TRUNCATE を使用する利点は何ですか??