ALTER TABLE user DROP COLUMN registered_date
Chúng tôi có thể thả cột bằng lệnh trên. Nhưng làm thế nào tôi có thể thả nó chỉ khi cột registered_date tồn tại?làm thế nào để thả một cột nếu tồn tại trong mysql?
ALTER TABLE user DROP COLUMN registered_date
Chúng tôi có thể thả cột bằng lệnh trên. Nhưng làm thế nào tôi có thể thả nó chỉ khi cột registered_date tồn tại?làm thế nào để thả một cột nếu tồn tại trong mysql?
IF EXISTS(SELECT *
FROM information_schema.COLUMNS
WHERE
TABLE_SCHEMA = 'db_name'
AND TABLE_NAME = 'table_name'
AND COLUMN_NAME = 'column_name')
BEGIN
ALTER TABLE table_name DROP COLUMN column_name
END
HOẶC
IF (SELECT COUNT(*)
FROM information_schema.COLUMNS
WHERE
TABLE_SCHEMA = 'db_name'
AND TABLE_NAME = 'table_name'
AND COLUMN_NAME = 'column_name'>0)
BEGIN
ALTER TABLE table_name DROP COLUMN column_name
END
Nó không giống như có một cách, nhưng tồi tệ nhất trường hợp kịch bản mà bạn sẽ nhận được một lỗi mà bạn có thể xử lý ở lớp ứng dụng của bạn. –
nó sẽ giống như người dùng ALTER TABLE này DROP COLUMN IF EXISTS registered_date; –
@DeepakJoshi tôi sẽ nhận được Lỗi cú pháp: "NẾU bất ngờ". – CloudSeph