データベース名: テスト テーブル名: order、order_shipping、order_payment
以下のクエリでエラーが発生します
INSERT INTO order(order_status,customer_id) values('booked',1)
error : 1064 - SQL 構文にエラーがあります。MySQL サーバーのバージョンに対応するマニュアルを参照して、1 行目の「order(order_status,customer_id) values('booked',1)」の近くで使用する正しい構文を確認してください。
ただし、テーブル名の前にデータベース名を追加すると、まったく同じクエリが機能します
INSERT INTO test.order(order_status,customer_id) values('booked',1)
結果: 挿入成功
tablename 'order' を 'order_main' に名前変更しました。データベース名なしで動作します
INSERT INTO order_main(order_status,customer_id) values('booked',1)
挿入成功
私の質問は、データベース名がテーブル名に添付されていないと、元のクエリが機能しないのはなぜですか。このテーブル名で始まるテーブルが他にもあるからですか???
私のデータベースのテーブル: order, order_shipping,order_payment