Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/66.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/85.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 当我们插入行时,是否真的返回id列?_Mysql_Sql - Fatal编程技术网

Mysql 当我们插入行时,是否真的返回id列?

Mysql 当我们插入行时,是否真的返回id列?,mysql,sql,Mysql,Sql,请告诉我,当我们进行insert时,请在一个查询中真正返回ID。由于ID是自动递增的,所以不要在查询中指定它,您只需指定即可 Table test id - int, primary key, auto_incriment name - varchar(100) INSERT INTO test (ID, Name) VALUES ('$ID', '$Name'); (注意,如果这是来自PHP,请务必注意SQL注入问题!) 如果您指定一个ID,它将覆盖MySQL的正常操作(有时可能有

请告诉我,当我们进行insert时,请在一个查询中真正返回
ID

由于ID是自动递增的,所以不要在查询中指定它,您只需指定即可

Table test
id - int, primary key, auto_incriment
name - varchar(100)

INSERT INTO test
  (ID, Name)
VALUES
  ('$ID', '$Name');
(注意,如果这是来自PHP,请务必注意SQL注入问题!)

如果您指定一个ID,它将覆盖MySQL的正常操作(有时可能有用,但在这种情况下不太可能)

您可以使用
last\u INSERT\u ID()。(请注意,必须先插入列,您不能调用此列,然后使用该值插入)

正如@MichaelBerkowski所说,您不能在一个查询中返回
ID

对于返回
ID
make next:


关于
LAST_INSERT_ID()的信息
您可以读取

我想这是您正在寻找的,您无法在一次查询中返回它,除非您构建一个执行插入的存储过程,然后查询最后插入的id。但是MySQL提供了
最后插入的id()
用于以下目的:
选择最后插入的id()
和大多数特定于语言的API都有一个包装器方法。或者切换到sql server并使用OUTPUT子句。@Mihai或者切换到Postgres并使用
returning
子句,这实际上会产生一个结果set@a_horse_with_no_name谢谢,我想找到mysql的信息
INSERT INTO test
(Name)
VALUES
('$Name');
INSERT INTO test
  (ID, Name)
VALUES
  ('$ID', '$Name');

SELECT LAST_INSERT_ID();