Bạn có lỗi cú pháp trong câu lệnh của mình:
INSERT INTO `statuses`
(SELECT 'Something', 'Something else', 123
WHERE NOT EXISTS (SELECT * FROM `statuses`)
) union all
(SELECT 'Something', 'Something else', 234
WHERE NOT EXISTS (SELECT * FROM `statuses`)
);
Bạn cần lặp lại where
trong trường hợp này hai lần, một lần cho mỗi truy vấn con. Bạn cũng có thể làm:
INSERT INTO `statuses`
select t.*
from ((SELECT 'Something' as col1, 'Something else' as col2, 123 as col3
) union all
(SELECT 'Something', 'Something else', 234
)
) t
WHERE NOT EXISTS (SELECT * FROM `statuses`);
Trong phiên bản này, bạn cần gán tên cho các cột.
Hoặc, bạn có thể chỉ sử dụng hai câu lệnh chèn riêng biệt.