PHP mySQL - 在主键上使用自动递增将新记录插入表中

Jim*_*med 48 php mysql insert auto-increment

想知道是否有速记版本将新记录插入到启用了主键的表中?(即不必在查询中包含键列)让我们说键列是ID,其他列是Fname,Lname和Website

$query = "INSERT INTO myTable VALUES ('Fname', 'Lname', 'Website')";
Run Code Online (Sandbox Code Playgroud)

reg*_*ity 105

使用DEFAULT关键字:

$query = "INSERT INTO myTable VALUES (DEFAULT,'Fname', 'Lname', 'Website')";
Run Code Online (Sandbox Code Playgroud)

此外,您可以指定列(这是更好的做法):

$query = "INSERT INTO myTable
          (fname, lname, website)
          VALUES
          ('fname', 'lname', 'website')";
Run Code Online (Sandbox Code Playgroud)

参考:

  • "不会被改变"是一个非常大的假设.也许这是一个一次性的表,当你完成当前任务时你就放弃了它,但是否则谁知道业务需求何时会以意想不到的方式发生变化.在绝大多数情况下,如果您使用带有列名的第二个表单,那么必须继续维护系统的人将非常欣赏它. (5认同)

小智 12

我更喜欢这种语法:

$query = "INSERT INTO myTable SET fname='Fname',lname='Lname',website='Website'";
Run Code Online (Sandbox Code Playgroud)

  • +1,我也喜欢它,只适用于MySQL /在SQLite中不起作用. (3认同)

Kor*_*nto 5

$query = "INSERT INTO myTable VALUES (NULL,'Fname', 'Lname', 'Website')";
Run Code Online (Sandbox Code Playgroud)

只要保留AI主键的值NULL就会分配一个自动递增的值.

  • 这是一个旧的:P我用null而不是空字符串更新. (2认同)