2008-11-15 61 views
5

Chỉ sử dụng chỉ MySQL, tôi thấy nếu có thể chạy câu lệnh chèn CHỈ nếu bảng mới. Tôi đã tạo thành công biến người dùng để xem bảng có tồn tại hay không. Vấn đề là bạn không thể sử dụng "WHERE" cùng với câu lệnh chèn. Bất kỳ ý tưởng về làm thế nào để có được điều này làm việc?SQL - Cách tạo INSERT có điều kiện

// See if the "country" table exists -- saving the result to a variable 
SELECT 
    @table_exists := COUNT(*) 
FROM 
    information_schema.TABLES 
WHERE 
    TABLE_SCHEMA = DATABASE() AND TABLE_NAME = 'country'; 

// Create the table if it doesn't exist 
CREATE TABLE IF NOT EXISTS country (
    id INT unsigned auto_increment primary key, 
    name VARCHAR(64) 
); 

// Insert data into the table if @table_exists > 0 
INSERT INTO country (name) VALUES ('Afghanistan'),('Aland Islands') WHERE 0 < @table_exists; 

Trả lời

6
IF @TableExists > 0 THEN 
    BEGIN 
     INSERT INTO country (name) VALUES ('Afghanistan'),('Aland Islands'); 
    END 
Các vấn đề liên quan