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

CHÈN VÀO nếu điều kiện được thỏa mãn

INSERT trạng thái có hai biến thể:

INSERT INTO tableX
    (a, b, c, ...)
VALUES
    (1, 2, 3, ...) ;

INSERT INTO tableX
    (a, b, c, ...)
SELECT
    1, 2, 3
FROM
    ... ;             --- the same or another table or many tables

dual là một bảng hệ thống có đúng 1 hàng. Nó có thể được sử dụng cho nhiều thứ khác nhau. Ở đây nó được sử dụng để VALUES (...) được viết lại dưới dạng SELECT ... nơi chúng tôi không có bất kỳ bảng phù hợp nào để đưa vào FROM mệnh đề:

$query_land = "INSERT INTO `Sequence` (`num_arr`,`start`,`fin`,`way_id`) 
               SELECT '".$solution[$i][0]."','".$solution[$i][1]."',
                      '".$solution[$i][2]."','".$solution[$i][3]."'
               FROM dual 
               WHERE '".$solution[$i][0]."' IN (SELECT num_arr 
                                                FROM Schedule 
                                                WHERE num_arr<>'')";



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. cách tạo khóa tham chiếu nước ngoài cho khóa chính của thành phần

  2. Xử lý lỗi quy trình lưu trữ MySQL

  3. Sắp xếp theo thứ tự bảng chữ cái MySQL nâng cao với tiền tố?

  4. làm thế nào để viết một tệp json như một nguồn dữ liệu trong php?

  5. MySQL:DUY NHẤT, nhưng KHÔNG ĐỦ - được phép bằng cách tạo bảng. Nhiều hơn 1 NULL được phép chèn. Tại sao?