2016-05-19 5 views
1

Ich versuche, einige Werte in mysql einzufügen, aber ich bekomme Fehlercode 1136, ich verifizierte und einer der Werte ist Auto-Inkrement, so dass ich nicht eingeben muss, und der Rest geben insgesamt 18 Welches sind genau die Gesamtwerte, die ich schreibe, könnte mir jemand helfen?MySQL. Fehlercode 1136

Dies ist die Tabelle im mit:

FIELD    TYPE NULL KEY DEFAULT EXTRA 
id_display_detail int(11) NO PRI   auto_increment 
amount    double NO   
amount_lc   double NO   
exchange   double NO   
company  varchar(10) NO   
date    datetime NO   
description varchar(100) NO   
document_number varchar(20) NO   
document_type varchar(2) NO   
posting_key  varchar(3) NO   
special_gl  varchar(1) NO   
status   int(11) NO   
voucher_number varchar(40) NO   
year    int(11) NO MUL  
id_currency  int(11) NO MUL  
id_employee  int(11) NO MUL  
credit   bit(1)  YES   
card_type  varchar(45) NO   
line_item  int(11) YES   

Und dies ist mein Code:

INSERT INTO display_detail VALUES (300,300,0,'2001','2016-04-11', 
    'Downpayment ZM00080621','2000010802','ZP','29','R',0, 
    'GCCTEA 8062130',2016,1,1561,0,NULL,1); 

Bin ich etwas fehlt?

+0

für PRI Schlüssel Sie NULL hinzufügen müssen, das heißt '... VALUES (NULL, 300,300 ...)' oder um anzugeben, in welche Spalten Sie Daten einfügen möchten. – mitkosoft

Antwort

1

Sie fehlt den Spaltennamen (Da die ID die Werte, die Sie nicht Mathe vorgesehen ist automatisch tun die Anzahl der Spalte so den Spaltennamen erklären muss)

INSERT INTO display_detail (amount, 
     amount_lc , 
     exchange , 
     company , 
     date , 
     description , 
     document_number, 
     document_type , 
     posting_key , 
     special_gl , 
     status , 
     voucher_number , 
     year , 
     id_currency , 
     id_employee , 
     credit , 
     card_type , 
     line_item ) VALUES (300,300,0,'2001','2016-04-11', 
      'Downpayment ZM00080621','2000010802','ZP','29','R',0, 
      'GCCTEA 8062130',2016,1,1561,0,NULL,1); 
+0

Großartig, korrigiert danke scaisEdge – David

+0

Weel @ David wenn meine Antwort richtig ist .. bitte markieren Sie es als akzeptiert .. – scaisEdge

0

Es scheint, dass Sie die Spalten in Ihrer INSERT-Anweisung nicht auflisten. Eine MySQL-Abfrage sieht in der Regel wie folgt aus:

INSERT INTO table 
(column1, column2, ...) 
VALUES 
(expression1, expression2, ...), 
(expression1, expression2, ...), 
...; 

(Entnommen aus: http://www.techonthenet.com/mysql/insert.php)

Die letzte Abfrage würde wie folgt sein:

INSERT INTO display_detail 
(amount, amount_lc, exchange, company, date, description, 
document_number, document_type, posting_key,special_gl,status,voucher_number,year, 
id_currency, id_employee, credit, card_type, line_item) 
    VALUES (300,300,0,'2001','2016-04-11', 
     'Downpayment ZM00080621','2000010802','ZP','29','R',0, 
     'GCCTEA 8062130',2016,1,1561,0,NULL,1); 
+0

Ich dachte darüber nach, aber ich dachte es würde nicht helfen, das nächste Mal werde ich es wissen, danke CSLearner – David

+0

Hat es für dich funktioniert oder hat es immer noch Probleme? – CSLearner

+0

Es hat funktioniert, danke – David

2

und einer der Werte ist auto -increment, also muss ich das nicht eintragen

Das d Ändern Sie nicht die Tatsache, dass die Anzahl der Werte in Ihrer VALUES-Klausel mit der Anzahl der Spalten übereinstimmen muss.

Sie müssen als Wert für die Spalte auto_increment entweder NULL angeben - oder nach INSERT zuerst eine Spaltenliste angeben.

+0

Oh, ich tat das falsch, danke viel CBroe (Y) – David