MySQLでタイプを比較してもエラーが発生しないのはなぜですか?
stringをintと比較しようとしても、MySQLはstringをintに変換するため、エラーは発生しません。まずテーブルを作成しましょう-
mysql> create table DemoTable1852 ( Value1 varchar(20), Value2 int ); Query OK, 0 rows affected (0.00 sec)
挿入コマンド-
を使用して、テーブルにいくつかのレコードを挿入しますmysql> insert into DemoTable1852 values('1John',1); Query OK, 1 row affected (0.00 sec) mysql> insert into DemoTable1852 values('John',1); Query OK, 1 row affected (0.00 sec) mysql> insert into DemoTable1852 values('1',1); Query OK, 1 row affected (0.00 sec) mysql> insert into DemoTable1852 values('John1',1); Query OK, 1 row affected (0.00 sec)
selectステートメントを使用してテーブルのすべてのレコードを表示する-
mysql> select * from DemoTable1852;
これにより、次の出力が生成されます-
+--------+--------+ | Value1 | Value2 | +--------+--------+ | 1John | 1 | | John | 1 | | 1 | 1 | | John1 | 1 | +--------+--------+ 4 rows in set (0.00 sec)
これがMySQLのタイプを比較するためのクエリであり、エラーは発生しません-
mysql> select Value1,Value2, Value1=Value2 as Result from DemoTable1852;
これにより、次の出力が生成されます-
+--------+--------+--------+ | Value1 | Value2 | Result | +--------+--------+--------+ | 1John | 1 | 1 | | John | 1 | 0 | | 1 | 1 | 1 | | John1 | 1 | 0 | +--------+--------+--------+ 4 rows in set, 3 warnings (0.00 sec)
-
MySQLエラー-#1046-データベースが選択されていません
エラー-#1046は、テーブルを作成しているときに発生する可能性がありますが、データベースを選択するのを忘れています。以下に示すようにMySQLを開始したとしましょう- 正しいパスワードを入力すると、上記のウィンドウが開きます。次に、データベースを選択せずにテーブルを作成します。これはエラーを表示します- mysql> CREATE table TblUni -> ( -> id int, -> Name varchar(100) -> ); エラー1046(3D000):データベースが選択されていません 次のスクリーンショットは同じエラーを示して
-
MySQLはデータベースファイルをどこに保存しますか?
MySQLがデータベースファイルを保存する場所を知るには、変数@@datadirを使用できます。クエリは次のとおりです- mysql> select @@datadir; 以下は、パスを表示する出力です- +---------------------------------------------+ | @@datadir | +---------------------------------------------+ | C:\ProgramData\MySQL\MySQL Server 8.0\Data\ | +