如果不存在,如何将特定字段添加到所有表?

时间:2010-10-18 09:22:33

标签: mysql

我想在所有表中添加一个名为UserId datatpe varchar(25)的字段名称。如果表中已包含此字段,我不想添加。可以使用SQL查询。请给我一些想法。< / p>

2 个答案:

答案 0 :(得分:2)

请参阅http://www.lost-in-code.com/programming/mysql/mysql-check-if-field-exists/

应该可以使用以下内容:

IF EXISTS (SELECT * FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME=’table’ AND column_name=’UserId’) 
BEGIN 
 Alter Table....
END

答案 1 :(得分:0)

您可以使用SHOW TABLES获取数据库中所有表的列表,并使用SHOW CREATE TABLE或DESCRIBE来获取每个表的规范。然后,可以在应用程序代码中使用它来创建字段。具体如何做取决于您的编程语言。

我认为只使用SQL是不可能的,但我不是SQL大师所以不要相信我的话: - )