14

idユーザーのテーブルがあり、列が主キーで自動インクリメントされているとしましょう。

次のステートメントでユーザーを手動で追加してみます。

INSERT INTO table_name (id, username, password)  
VALUES (?, Mike, Mike);

値を指定したくありません?。次の行に追加したいだけです。

id 列を自動インクリメントに設定するのを忘れていました。それは今動作します。

4

4 に答える 4

15

だから、それを使わないでください...このようにしてください。

また、挿入には必ず一重引用符を使用してくださいstrings

INSERT INTO table_name (username, password)
VALUES ('Mike', 'Mike');

フィールドがであると言ったように、SQLはフィールドauto incrementedの値を自動的に1インクリメントしますid

于 2012-10-07T16:24:23.593 に答える
11

自動インクリメント列に値を手動で挿入する場合は、SQL の IDENTITY_INSERT を使用できます。例えば

SET IDENTITY_INSERT MyTable ON
insert into MyTable(id, name) values (1,'asdf');
insert into MyTable(id, name) values (3,'htgfds');
insert into MyTable(id, name) values (123,'dsfg');
SET IDENTITY_INSERT MyTable OFF

ここで詳細を読むことができます IDENTITY_INSERT

于 2012-10-07T16:27:56.650 に答える
1

idが自動インクリメント値の場合は、その列を挿入から除外するだけで、自動インクリメント値が入力されます。たとえば、BOLhttp : //msdn.microsoft.com/en-us/library/aa933196(v=SQL.80).aspxから

CREATE TABLE new_employees
(
 id_num int IDENTITY(1,1),
 fname varchar (20),
 minit char(1),
 lname varchar(30)
)

INSERT new_employees
   (fname, minit, lname)
VALUES
   ('Karin', 'F', 'Josephs')

INSERT new_employees
   (fname, minit, lname)
VALUES
   ('Pirkko', 'O', 'Koskitalo')
于 2012-10-07T16:25:18.893 に答える
1

これはあなたのために仕事をするはずです:

INSERT INTO table_name (username, password)
VALUES('username_u','password_p');

自動インクリメント値は、SQL によって自動的に追加されます。

于 2012-10-07T16:30:09.677 に答える