2017-10-24 10 views
0

私はテーブルOrdersを作成してから値を挿入しましたが、このエラーが発生し続けます。SQL:指定された値の数がテーブル定義と一致しません。私が見ることができるからそれはしますか?

列名または指定値の数がテーブル の定義と一致しません。

CREATE TABLE Orders 
    (
    orderNo    CHAR(8) PRIMARY KEY NOT NULL, 
    orderDate   DATE NOT NULL, 
    customerID   CHAR(8) FOREIGN KEY REFERENCES Customer(customerID), 
    employeeNumber  CHAR(8) FOREIGN KEY REFERENCES Staff(employeeNumber) NOT NULL, --Could possibly be many to many but I just interperated it as the staff member who takes the order. So not including staff who make or deliver. 
    transactionID  CHAR(8) FOREIGN KEY REFERENCES OrderPayments(transactionID) NOT NULL, 
    orderstatus   BIT 
    ) 


    INSERT INTO Orders VALUES ('ORDER001','2017-04-20','PAT00001','ROBBIE11','TRANS001',1) 

起こっていただきました!誰もが任意のアイデアを持っていますか?ありがとう

+0

日付は自動的に日付値に変換されますか? – Bob

+0

ご使用のデータベースで質問にタグを付けてください。 –

+0

私はこれがSQL Serverだと思います。もしそうなら、それは正常に動作します:http://rextester.com/l/sql_server_online_compiler。おそらく、あなたは物事を壊しているテーブルのトリガーを持っています。 –

答えて

0

問題が解決しました。これは、テーブルに値を挿入したためです。注文はキー衝突を引き起こしたスタッフの前にデータが挿入されていました。助けを歓迎

+0

これは、 'INSERT'節の列をリストするのが良いコーディングスタイルである理由の良い例です:' #order(orderno、orderdate、...)values(...) –

関連する問題