我想在mytable列“auto”中检查,是否存在,如果不存在,请添加他的。 a这样做:
mysql-> SHOW COLUMNS FROM mytable
之后,用PHP检查,结果是否存在“自动”,如果不存在,我做:
mysql-> ALTER TABLE mytable ADD auto VARCHAR (30) NOT NULL COLLATE utf8_general_ci
问题:请告诉我,如何在一个查询中进行此操作?
答案 0 :(得分:1)
只是跳过第一个查询,并尝试添加它,如果它已经存在,它将失败,如果它丢失,它将被添加
答案 1 :(得分:1)
您可以在存储过程中定义以下查询,并调用存储过程以添加列(如果不存在)。
IF NOT EXISTS(
SELECT * FROM information_schema.COLUMNS
WHERE COLUMN_NAME='auto' AND TABLE_NAME='my_table' AND TABLE_SCHEMA='the_schema'
)
THEN
ALTER TABLE `the_schema`.`my_table`
ADD COLUMN `auto` VARCHAR (30) NOT NULL COLLATE utf8_general_ci ;
END IF;