IF
ストアド プロシージャのようにコード ブロック内でのようなステートメントの使用。mysql プロンプトだけで実行することはできません。
以前は存在しなかったランダムな値を挿入したいだけの場合は、次の方法でも実行できます
mysql> テーブル nums(num int, 一意のキー(num)) を作成します。
クエリ OK、影響を受ける行は 0 (0.05 秒)
mysql> nums に無視を挿入 >select round(rand()*9999);>
クエリ OK、影響を受ける 1 行 (0.01 >秒)>
レコード: 1 重複: 0 警告> ings>: 0>
mysql> nums select round(rand()*9999); に無視を挿入します。
クエリ OK、影響を受ける 1 行 (0.00 秒)
レコード: 1 重複: 0 警告: 0
mysql> nums select round(rand()*9999); に無視を挿入します。
クエリ OK、影響を受ける 1 行 (0.00 秒)
レコード: 1 重複: 0 警告: 0
mysql> nums select round(rand()*9999); に無視を挿入します。
クエリ OK、影響を受ける 1 行 (0.00 秒)
レコード: 1 重複: 0 警告: 0
mysql> select * from nums;
+--------+
| | 番号 |
+--------+
| | 5268 |
| | 9075 |
| | 9114 |
| | 9768 |
+--------+
4 行セット (0.00 秒)
mysql>
ではinsert ignore
、行が既に存在する場合、行は挿入されません。