2017-03-02 2 views
0

Brauchen Sie Hilfe, wie dieses Problem zu lösen ... Ich habe eine Benutzer-Tabelle erstellt, dieauto_increment funktioniert nicht auf INSERT-Abfrage

Create table users 
(
    uid int(10) PRIMARY KEY AUTO_INCREMENT, 
    uname varchar(50), 
    password varchar(50), 
    email varchar(50) 
); 

folgende Spalten, wenn ich Werte einfügen mit uid es erfolgreich ausgeführt:

Insert into users values(1,'ABC','Helloworld','[email protected]'); 

aber wenn ich versuche, ohne uid

Insert into users values('SDC','Helloworld','[email protected]'); 

es nicht erfolgreich ausgeführt und gibt einen Fehler

ERROR 1136 (21S01): Column count doesn't match value count at row 1 

mein uid hat AUTO_INCREMENT so sollte es automatisch erhöhen ..

Antwort

1

Natürlich auto_increment richtig funktioniert. Sie müssen nur Best Practices für die Verwendung von insert lernen. immer Liste alle Spalten (es sei denn, Sie wirklich, wirklich wissen, was Sie tun):

Insert into users (uname, password, email) 
    values('SDC', 'Helloworld', '[email protected]'); 

die ID-Spalte wird automatisch erhöht werden. Wenn Sie die Spalten nicht auflisten, erwartet MySQL Werte für alle Spalten, einschließlich der automatisch inkrementierten Spalten.

+0

Danke, es hat funktioniert ... –

Verwandte Themen