mysql插入语法,有什么顺序?它是如何工作的

时间:2013-04-05 13:03:21

标签: mysql

无法找到对此的答案及其对INSERT INTO命令如何工作的相对简单的查询。

当我从PHP运行此命令时,它搜索数据库中的行名称,或者按数字顺序对它们进行处理。

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

数据库结构

  1. 标题
  2. 日期
  3. 描述
  4. 因此,如果我要在此表中添加另一行(变为no.4),是否需要按顺序处理(即在“描述”之后),或者我可以从任何地方调用它,只要它具有相应的位置到VALUES数组?

2 个答案:

答案 0 :(得分:2)

实际上,只要列存在于列中,列的顺序就完全没有关系。但值的顺序取决于您在INSERT子句中声明列名的方式。优化程序不够智能,无法确定要插入的值是否为特定列。

如果你有交换列的值和数据类型在列上不匹配,它会隐式尝试将其转换为特定的数据类型,如果失败,则会抛出异常。

答案 1 :(得分:2)

如果您明确设置了列名(通过这样的子字符串$ tbl_name(标题,日期,描述)来实现)

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