1

找不到这个问题的答案,它是一个关于 INSERT INTO 命令如何工作的相对简单的查询。

当我从 PHP 运行此命令时,它会在数据库中搜索行名还是按数字顺序对它们进行寻址。

$sql="INSERT INTO $tbl_name(title, date, description) VALUES('$title', '$date', '$description')";

数据库结构

  1. 标题
  2. 日期
  3. 描述

因此,如果我要在该表中添加另一行(成为第 4 行),是否需要按顺序处理(即在“描述”之后)或者我可以从任何地方调用它,只要它与值数组?

4

2 回答 2

2

实际上,列的顺序并不重要,只要它存在于表中即可。但是值的顺序取决于您如何在INSERT子句中声明列名。优化器不够聪明,无法确定您插入的值是针对特定列的。

如果您曾经交换列的值并且列上的数据类型不匹配,它会隐式尝试将其转换为特定的数据类型,如果失败,则会引发异常。

于 2013-04-05T13:06:07.090 回答
2

如果您明确设置列名(您可以通过这样的子字符串 $tbl_name(title, date, description))

...您可能会忽略列的实际顺序。

于 2013-04-05T13:09:15.887 回答