Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Có thể CHÈN rồi CHỌN hàng đã chèn lần lượt được không?

NẾU BẠN ĐANG SỬ DỤNG INNODB:

Nếu bạn đang sử dụng INNODB, vì bạn đã xác minh hàng đã được chèn, nên nó phải được quay lại với CHỌN, miễn là CHỌN đang truy vấn khóa của hàng thực đã được chèn. (Bạn có chắc mình không sử dụng một tính năng như CHÈN BỊ TRÌ HOÃN không? Điều đó có thể ngăn việc trả lại hàng.)

NẾU BẠN ĐANG SỬ DỤNG MYISAM:

Vì MyISAM không hỗ trợ các giao dịch, nên SELECT sẽ trả về chèn, nhưng tôi không thể tìm thấy bất kỳ điều gì cho biết điều này thực sự được đảm bảo.

LƯU Ý:URL đầu tiên được liệt kê bên dưới cho biết nếu bạn đang sử dụng MYISAM (mặc định theo liên kết này), INSERTS sẽ khóa bảng. Tuy nhiên, URL thứ hai cho biết rằng khóa được đặt bởi một phần chèn là một khóa có thể đọc được, vì vậy điều đó không nên ngăn bảng được đọc.

http://www.sitepoint.com/mysql-mistakes-php-developers/

http://aarklondatabasetrivia .blogspot.com / 2009/04 / how-to-lock-and-unlock -boards-in-mysql.html

NẾU BẠN ĐANG SỬ DỤNG INNODB (TIẾP TỤC):

    Nếu AUTOCOMMIT đang được sử dụng trong hệ thống của bạn (tôi không chắc), bạn nên chọn hàng đã chọn (câu hỏi này cho biết hàng được chèn đã được xác minh là đã được thêm vào cơ sở dữ liệu).

    Nếu một giao dịch đang được sử dụng, giao dịch đó phải được cam kết (câu hỏi này cho biết hàng được chèn đã được xác minh là đã được thêm vào cơ sở dữ liệu).

    Bạn có chắc chắn truy vấn SELECT được thực thi lần đầu tiên giống với truy vấn lần thứ hai không?

    Bạn có chắc chắn không $user['social_id'] Giá trị sau CHÈN VÀ tại thời điểm CHỌN có giống nhau không?

    Nếu vì lý do nào đó, bạn đang sử dụng CHÈN BỊ TRÌ HOÃN, hàng có thể không được trả lại

LƯU Ý:Theo URL này, NẾU bạn đã bắt đầu một giao dịch, các hàng đã chọn sẽ hiển thị trong câu lệnh SELECT tiếp theo (không phải trong PHP):

http://zetcode.com/databases/mysqltutorial/transactions/

Tuyên bố này ngụ ý rằng nếu bạn bắt đầu một giao dịch, bạn không cần thiết lập AUTOCOMMIT:

"MySQL cũng tự động cam kết các câu lệnh không phải là một phần của giao dịch."

URL này mô tả cách bắt đầu một giao dịch bằng PHP:

Ví dụ về giao dịch PHP + MySQL




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. drupal mệnh đề điều kiện sql cho nhiều bảng?

  2. MYSQL / PHP tìm mục phổ biến nhất liên kết với một mục nhất định

  3. Giá trị múi giờ máy chủ 'AEST' không được công nhận hoặc đại diện cho nhiều hơn một múi giờ

  4. dữ liệu mùa xuân JPA - mysql - findById () trống trừ khi findAll () được gọi trước đó

  5. Sử dụng các mối quan hệ đa hình Eloquent để phân loại dữ liệu trong Laravel