エラー1093(HY000)を修正:MySQL列から最小値を削除しているときに、FROM句で更新のターゲットテーブルを指定できませんか?
まずテーブルを作成しましょう-
mysql> create table DemoTable1597 -> ( -> Marks int -> ); Query OK, 0 rows affected (0.69 sec)
挿入コマンド-
を使用して、テーブルにいくつかのレコードを挿入しますmysql> insert into DemoTable1597 values(45); Query OK, 1 row affected (0.21 sec) mysql> insert into DemoTable1597 values(59); Query OK, 1 row affected (0.24 sec) mysql> insert into DemoTable1597 values(43); Query OK, 1 row affected (0.11 sec) mysql> insert into DemoTable1597 values(85); Query OK, 1 row affected (0.17 sec) mysql> insert into DemoTable1597 values(89); Query OK, 1 row affected (0.12 sec)
selectステートメントを使用してテーブルのすべてのレコードを表示する-
mysql> select * from DemoTable1597;
これにより、次の出力が生成されます-
+-------+ | Marks | +-------+ | 45 | | 59 | | 43 | | 85 | | 89 | +-------+ 5 rows in set (0.00 sec)
ERROR 1093(HY000)を削除するためのクエリは次のとおりです。ここで最小値を削除します-
mysql> delete from DemoTable1597 -> where Marks=( -> select lowestMarks from ( select min(Marks) as lowestMarks from DemoTable1597 ) as deleteRecord -> ) limit 1; Query OK, 1 row affected (0.11 sec)
テーブルレコードをもう一度確認しましょう-
mysql> select * from DemoTable1597;
これにより、次の出力が生成されます-
+-------+ | Marks | +-------+ | 45 | | 59 | | 85 | | 89 | +-------+ 4 rows in set (0.00 sec)
-
「index」という名前のテーブル列を作成する際のMySQL構文のエラーを修正しますか?
予約語であるため、インデックスを列名として使用することはできません。このためには、列名の前後にバッククォートを使用する必要があります。 列名として予約語を使用すると、次のエラーが表示される可能性があります- mysql> create table DemoTable -> ( -> Id int NOT NULL AUTO_INCREMENT PRIMARY KEY, -> index int -> )ENGINE=MyISAM; ERROR 1064 (42
-
特定の列の値を修正し、MySQLの残りの行のランダムな値を表示します
ランダムな行の場合はRAND()を使用できますが、特定の列を修正するにはORDERBY句を使用します。テーブルを作成しましょう- mysql> create table DemoTable1921 ( Number int ); Query OK, 0 rows affected (0.00 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTable1921 values(40); Query OK, 1 row affecte