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

Thứ tự MySQL theo khóa chính

MySQL thường lấy dữ liệu ra theo thứ tự chèn sẽ là bằng khóa chính, nhưng về mặt kỹ thuật, bạn có thể làm điều tương tự nếu bạn rút tên cột khóa chính ra và đặt nó theo thứ tự bằng

SELECT whatever FROM table
ORDER BY
(   SELECT `COLUMN_NAME`
    FROM `information_schema`.`COLUMNS`
    WHERE (`TABLE_SCHEMA` = 'dbName')
      AND (`TABLE_NAME` = 'tableName')
      AND (`COLUMN_KEY` = 'PRI')
);

Đối với các khóa tổng hợp, bạn có thể sử dụng cái này

SELECT whatever FROM table
ORDER BY
(   SELECT GROUP_CONCAT(`COLUMN_NAME` SEPARATOR ', ')
    FROM `information_schema`.`COLUMNS`
    WHERE (`TABLE_SCHEMA` = 'dbName')
      AND (`TABLE_NAME` = 'tableName')
      AND (`COLUMN_KEY` = 'PRI')
);

Quyền truy cập giản đồ thông tin từ DOCS

CÀI ĐẶT:

CREATE TABLE some_stuff (
    firstID INT,
    secondID INT,
    username varchar(55),
    PRIMARY KEY (firstID, secondID)
) ;

QUERY:

SELECT GROUP_CONCAT(`COLUMN_NAME` SEPARATOR ', ')
FROM `information_schema`.`COLUMNS`
WHERE (`TABLE_SCHEMA` = 'dbName')
  AND (`TABLE_NAME` = 'some_stuff')
  AND (`COLUMN_KEY` = 'PRI');

ĐẦU RA:

+--------------------------------------------+
| GROUP_CONCAT(`COLUMN_NAME` SEPARATOR ', ') |
+--------------------------------------------+
|              firstID, secondID             |
+--------------------------------------------+


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL Select ID xảy ra trên các hàng khác nhau với nhiều giá trị cụ thể cho một cột

  2. Không thể kết nối với MySQL từ xa bằng VB6 (10060)

  3. MySQL Job không khởi động được

  4. MySQL. Khóa chính trong bảng quan hệ. Id duy nhất hay nhiều khóa duy nhất?

  5. Mysql:Hoán đổi dữ liệu cho các hàng khác nhau