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

MySQL:có cái gì đó giống như một định danh bản ghi nội bộ cho mọi bản ghi trong bảng MySQL không?

AFAIK không tồn tại số nhận dạng nội bộ duy nhất như vậy (giả sử, một ID hàng đơn giản).

Bạn có thể có thể có thể chạy một SELECT mà không có bất kỳ phân loại nào và sau đó lấy hàng thứ n bằng cách sử dụng LIMIT . Trong những điều kiện đáng tin cậy và an toàn để sử dụng, mySQL Guru sẽ cần xác nhận. Có lẽ là không bao giờ.

Thử chơi với phpMyAdmin , giao diện người dùng web cho mySQL. Nó được thiết kế để đối phó với những chiếc bàn có thiết kế xấu, không có chìa khóa. Nếu tôi nhớ không nhầm, nó sử dụng tất cả các cột nó có thể giữ trong những trường hợp như vậy:

UPDATE xyz set a = b WHERE 'fieldname'  = 'value' 
                       AND 'fieldname2' = 'value2' 
                       AND 'fieldname3' = 'value3' 
                       LIMIT 0,1;

và như thế.

Tất nhiên, điều đó cũng không hoàn toàn an toàn.

Ý tưởng duy nhất nảy ra trong đầu tôi là thêm một cột chính trong thời gian chạy và xóa nó khi ứng dụng của bạn hoàn tất. Đó là một ý tưởng ngớ ngẩn, nhưng có lẽ còn hơn không.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. LỖI 2003 (HY000):Không thể kết nối với máy chủ MySQL trên '127.0.0.1' (111)

  2. Đặt mật khẩu người dùng gốc MySQL trên OS X

  3. quy ước đặt tên mysql

  4. Cảnh báo:mysql_num_rows ():đối số được cung cấp không phải là tài nguyên kết quả MySQL hợp lệ

  5. MySQL:Quyền truy cập bị từ chối đối với người dùng 'test' @ 'localhost' (sử dụng mật khẩu:CÓ) ngoại trừ người dùng root