Hướng dẫn insert id mysql - chèn id mysql


Nhận ID của bản ghi được chèn cuối cùng

Nếu chúng tôi thực hiện chèn hoặc cập nhật trên bảng với trường Auto_increment, chúng tôi có thể nhận ID của bản ghi được chèn/cập nhật cuối cùng ngay lập tức.

Trong bảng "MyGuests", cột "ID" là trường Auto_increment:

Tạo bảng MyGuests (ID int (6) Khóa chính auto_increment, FirstName varchar (30) không phải null, lastName varchar (30) không null, email varchar (50), reg_date dấu thời gian mặc định hiện tại_timestamp khi cập nhật curray_timestamp)
id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
firstname VARCHAR(30) NOT NULL,
lastname VARCHAR(30) NOT NULL,
email VARCHAR(50),
reg_date TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
)

Các ví dụ sau bằng với các ví dụ từ trang trước (dữ liệu chèn PHP vào MySQL), ngoại trừ việc chúng tôi đã thêm một dòng mã duy nhất để truy xuất ID của bản ghi được chèn cuối cùng. Chúng tôi cũng lặp lại ID cuối cùng được chèn:

Ví dụ (hướng đối tượng mysqli) theo định hướng đối tượng)

$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDB";

// Tạo kết nối $ Conn = new mysqli ($ servername, $ username, $ password, $ dbname); // kiểm tra kết nối nếu ($ Conn-> Connect_error) & nbsp; {& nbsp; chết ("Kết nối không thành công:". $ Conn-> Connect_error);}
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
  die("Connection failed: " . $conn->connect_error);
}

$ sql = "chèn vào myguests (firstName, lastName, email) giá trị ('john', 'doe', '' ')";
VALUES ('John', 'Doe', '')";

if ($ Conn-> truy vấn ($ sql) === true) {& nbsp; $ last_id = $ Conn-> chèn_id; & nbsp; echo "bản ghi mới được tạo thành công. ID được chèn cuối cùng là:". $ last_id;} other {& nbsp; Echo "Lỗi:". $ SQL. "". $ Conn-> lỗi;}
  $last_id = $conn->insert_id;
  echo "New record created successfully. Last inserted ID is: " . $last_id;
} else {
  echo "Error: " . $sql . "
" . $conn->error;
}

$ Conn-> đóng (); ?>
?>




Ví dụ (thủ tục MySQLI)

$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDB";

// Tạo kết nối $ Conn = new mysqli ($ servername, $ username, $ password, $ dbname); // kiểm tra kết nối nếu ($ Conn-> Connect_error) & nbsp; {& nbsp; chết ("Kết nối không thành công:". $ Conn-> Connect_error);}
$conn = mysqli_connect($servername, $username, $password, $dbname);
// Check connection
if (!$conn) {
  die("Connection failed: " . mysqli_connect_error());
}

$ sql = "chèn vào myguests (firstName, lastName, email) giá trị ('john', 'doe', '' ')";
VALUES ('John', 'Doe', '')";

if ($ Conn-> truy vấn ($ sql) === true) {& nbsp; $ last_id = $ Conn-> chèn_id; & nbsp; echo "bản ghi mới được tạo thành công. ID được chèn cuối cùng là:". $ last_id;} other {& nbsp; Echo "Lỗi:". $ SQL. "". $ Conn-> lỗi;}
  $last_id = mysqli_insert_id($conn);
  echo "New record created successfully. Last inserted ID is: " . $last_id;
} else {
  echo "Error: " . $sql . "
" . mysqli_error($conn);
}

$ Conn-> đóng (); ?>
?>


Ví dụ (thủ tục MySQLI)

$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDBPDO";

// Tạo kết nối $ Conn = new mysqli ($ servername, $ username, $ password, $ dbname); // kiểm tra kết nối nếu ($ Conn-> Connect_error) & nbsp; {& nbsp; chết ("Kết nối không thành công:". $ Conn-> Connect_error);}
  $conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password);
  // set the PDO error mode to exception
  $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
  $sql = "INSERT INTO MyGuests (firstname, lastname, email)
  VALUES ('John', 'Doe', '')";
  // use exec() because no results are returned
  $conn->exec($sql);
  $last_id = $conn->lastInsertId();
  echo "New record created successfully. Last inserted ID is: " . $last_id;
} catch(PDOException $e) {
  echo $sql . "
" . $e->getMessage();
}

$ sql = "chèn vào myguests (firstName, lastName, email) giá trị ('john', 'doe', '' ')";
?>


if ($ Conn-> truy vấn ($ sql) === true) {& nbsp; $ last_id = $ Conn-> chèn_id; & nbsp; echo "bản ghi mới được tạo thành công. ID được chèn cuối cùng là:". $ last_id;} other {& nbsp; Echo "Lỗi:". $ SQL. "". $ Conn-> lỗi;}

$ Conn-> đóng (); ?>Get the ID generated in the last query

Ví dụ (thủ tục MySQLI)

// Tạo kết nối $ Conn = mysqli_connect ($ servername, $ username, $ password, $ dbname); // kiểm tra kết nối if (! $ Conn) & nbsp; {& nbsp; chết ("kết nối không thành công:". mysqli_connect_error ());}(resource $link_identifier = NULL): int

$ sql = "chèn vào myguests (firstName, lastName, email) giá trị ('john', 'doe', '' ')";

if (mysqli_query ($ Conn, $ sql)) {& nbsp; & nbsp; $ last_id = mysqli_insert_id ($ Conn); $ last_id;} other {& nbsp; Echo "Lỗi:". $ SQL. "". mysqli_error ($ Conn);}

mysqli_close ($ Conn); ?>mysql_connect() is assumed. If no such link is found, it will try to create one as if mysql_connect() had been called with no arguments. If no connection is found or established, an E_WARNING level error is generated.

Ví dụ (PDO)

Hãy thử {& nbsp; & nbsp; $ Conn = new Conn-> setAttribution (pdo :: attr_errmode, pdo :: errmode_exception); & nbsp; $ sql = "chèn vào myguests (FirstName, lastName, email) & nbsp; giá trị ('john', 'doe', '')"; & nbsp; // sử dụng exec () vì không có kết quả nào được trả về & nbsp; $ Conn-> Exec ($ sql); & nbsp; & nbsp; $ last_id = $ Conn-> lastInsertId (); & nbsp; & nbsp; echo "bản ghi mới được tạo thành công. ID chèn cuối cùng là:". $ last_id;} Catch (pdoException $ e) {& nbsp; & nbsp; echo $ sql. "". $ e-> getMessage (); }false if no MySQL connection was established.

$ Conn = null; ?>

(Php 4, Php 5)mysql_insert_id() example

$link mysql_connect('localhost''mysql_user''mysql_password');
if (!
$link) {
    die(
'Could not connect: ' mysql_error());
}
mysql_select_db('mydb');mysql_query("INSERT INTO mytable (product) values ('kossu')");
printf("Last inserted record has id %d\n"mysql_insert_id());
?>

mysql_insert_id - Nhận ID được tạo trong truy vấn cuối cùng

Sự mô tả

mysql_insert_id (tài nguyên $link_identifier = null): int will convert the return type of the native MySQL C API function mysql_insert_id() to a type of long (named int in PHP). If your AUTO_INCREMENT column has a column type of BIGINT (64 bits) the conversion may result in an incorrect value. Instead, use the internal MySQL SQL function LAST_INSERT_ID() in an SQL query. For more information about PHP's maximum integer values, please see the integer documentation.

Thông số:

link_identifiermysql_insert_id() acts on the last performed query, be sure to call mysql_insert_id() immediately after the query that generates the value.

Thông số:

link_identifier

Kết nối MySQL. Nếu định danh liên kết không được chỉ định, liên kết cuối cùng được mở bởi mysql_connect () được giả định. Nếu không tìm thấy liên kết như vậy, nó sẽ cố gắng tạo một liên kết như thể mysql_connect () đã được gọi mà không có đối số. Nếu không có kết nối được tìm thấy hoặc thiết lập, lỗi cấp E_WARNING được tạo ra.

  • Trả về giá trị
  • ID được tạo cho cột Auto_increment bởi truy vấn trước đó về thành công, 0 nếu truy vấn trước đó không tạo ra giá trị tự động_increment hoặc false nếu không có kết nối MySQL được thiết lập.

Ví dụ

Ví dụ #1 mysql_insert_id () Ví dụ

There's nothing inherently wrong with using auto-increment fields. There's also nothing wrong with the main competetive idea, which is for the database to supply a primitive sequence of non-repeating identifiers, typically integers. This is rather like which side of the road you drive on.

link_identifier0

link_identifier1

link_identifier2

Ghi chú

Thận trọng

link_identifier3

link_identifier4

link_identifier5

link_identifier6

mysql_insert_id () sẽ chuyển đổi loại trả về của hàm API MySQL C gốc mysql_insert_id() thành một loại long (được đặt tên là int trong PHP). Nếu cột Auto_increment của bạn có một loại cột Bigint (64 bit), việc chuyển đổi có thể dẫn đến giá trị không chính xác. Thay vào đó, hãy sử dụng hàm mysql sql nội bộ last_insert_id () trong truy vấn SQL. Để biết thêm thông tin về các giá trị số nguyên tối đa của PHP, vui lòng xem tài liệu số nguyên.

Ghi chú:

link_identifier7

link_identifier8

link_identifier9

link_identifier2

Vì mysql_insert_id () hoạt động trên truy vấn được thực hiện cuối cùng, hãy chắc chắn gọi mysql_insert_id () ngay lập tức sau khi truy vấn tạo giá trị.

Ví dụ #1 mysql_insert_id () Ví dụ

E_WARNING1

E_WARNING2

E_WARNING3

E_WARNING4

E_WARNING5

E_WARNING6

E_WARNING7

E_WARNING8

link_identifier2

Ghi chú

Thận trọng

00

01

link_identifier2

mysql_insert_id () sẽ chuyển đổi loại trả về của hàm API MySQL C gốc mysql_insert_id() thành một loại long (được đặt tên là int trong PHP). Nếu cột Auto_increment của bạn có một loại cột Bigint (64 bit), việc chuyển đổi có thể dẫn đến giá trị không chính xác. Thay vào đó, hãy sử dụng hàm mysql sql nội bộ last_insert_id () trong truy vấn SQL. Để biết thêm thông tin về các giá trị số nguyên tối đa của PHP, vui lòng xem tài liệu số nguyên.

Ghi chú:

03

04

05

06

07

08

09

link_identifier2

Dhiraj Dot WebDeveler tại Gmail Dot Com ¶

4 năm trước

false1

false2

false3

false4

vksgeneric tại hotmail dot com

22 năm trước

false5

Heiligkind tại Yahoo Dot de ¶

16 năm trước

false6

false7

false8

false9

$link mysql_connect('localhost''mysql_user''mysql_password');
if (!
$link) {
    die(
'Could not connect: ' mysql_error());
}
mysql_select_db('mydb');mysql_query("INSERT INTO mytable (product) values ('kossu')");
printf("Last inserted record has id %d\n"mysql_insert_id());
?>
0

$link mysql_connect('localhost''mysql_user''mysql_password');
if (!
$link) {
    die(
'Could not connect: ' mysql_error());
}
mysql_select_db('mydb');mysql_query("INSERT INTO mytable (product) values ('kossu')");
printf("Last inserted record has id %d\n"mysql_insert_id());
?>
1

$link mysql_connect('localhost''mysql_user''mysql_password');
if (!
$link) {
    die(
'Could not connect: ' mysql_error());
}
mysql_select_db('mydb');mysql_query("INSERT INTO mytable (product) values ('kossu')");
printf("Last inserted record has id %d\n"mysql_insert_id());
?>
2

$link mysql_connect('localhost''mysql_user''mysql_password');
if (!
$link) {
    die(
'Could not connect: ' mysql_error());
}
mysql_select_db('mydb');mysql_query("INSERT INTO mytable (product) values ('kossu')");
printf("Last inserted record has id %d\n"mysql_insert_id());
?>
3

$link mysql_connect('localhost''mysql_user''mysql_password');
if (!
$link) {
    die(
'Could not connect: ' mysql_error());
}
mysql_select_db('mydb');mysql_query("INSERT INTO mytable (product) values ('kossu')");
printf("Last inserted record has id %d\n"mysql_insert_id());
?>
4

false9

$link mysql_connect('localhost''mysql_user''mysql_password');
if (!
$link) {
    die(
'Could not connect: ' mysql_error());
}
mysql_select_db('mydb');mysql_query("INSERT INTO mytable (product) values ('kossu')");
printf("Last inserted record has id %d\n"mysql_insert_id());
?>
0

$link mysql_connect('localhost''mysql_user''mysql_password');
if (!
$link) {
    die(
'Could not connect: ' mysql_error());
}
mysql_select_db('mydb');mysql_query("INSERT INTO mytable (product) values ('kossu')");
printf("Last inserted record has id %d\n"mysql_insert_id());
?>
1

$link mysql_connect('localhost''mysql_user''mysql_password');
if (!
$link) {
    die(
'Could not connect: ' mysql_error());
}
mysql_select_db('mydb');mysql_query("INSERT INTO mytable (product) values ('kossu')");
printf("Last inserted record has id %d\n"mysql_insert_id());
?>
8

$link mysql_connect('localhost''mysql_user''mysql_password');
if (!
$link) {
    die(
'Could not connect: ' mysql_error());
}
mysql_select_db('mydb');mysql_query("INSERT INTO mytable (product) values ('kossu')");
printf("Last inserted record has id %d\n"mysql_insert_id());
?>
9

mysql_insert_id()0

mysql_insert_id()1

mysql_insert_id()2

link_identifier2

Louis tại Intoplay Dot Com ¶

15 năm trước

mysql_insert_id()4

Steve Bond ¶

18 năm trước

mysql_insert_id()5

mysql_insert_id()6

mysql_insert_id()7

mysql_insert_id()8

mysql_insert_id()9

link_identifier2