How to insert new row to database with AUTO_INCREMENT column without specifying column names?

我的未来我决定 提交于 2020-01-12 04:01:29

问题


I have a table with the following columns:

  • id - INT UNSIGNED AUTO_INCREMENT
  • name - VARCHAR(20)
  • group - VARCHAR(20)

I know that I can add a row like this:

INSERT INTO table_name (name, group) VALUES ('my name', 'my group')

I wonder if there is a way to add a row without specifying the column names, like when there is no AUTO_INCREMENT column ?


回答1:


For some databases, you can just explicitly insert a NULL into the auto_increment column:

INSERT INTO table_name VALUES (NULL, 'my name', 'my group')



回答2:


Even better, use DEFAULT instead of NULL. You want to store the default value, not a NULL that might trigger a default value.

But you'd better name all columns, with a piece of SQL you can create all the INSERT, UPDATE and DELETE's you need. Just check the information_schema and construct the queries you need. There is no need to do it all by hand, SQL can help you out.




回答3:


Just add the column names, yes you can use Null instead but is is a very bad idea to not use column names in any insert, ever.



来源:https://stackoverflow.com/questions/3493612/how-to-insert-new-row-to-database-with-auto-increment-column-without-specifying

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!