我需要mysql脚本(不是存储过程)来检查列是否存在或在更改表之前。Mysql脚本检查列表是否存在或在表中添加列之前
0
A
回答
2
试试这个
SELECT *
FROM information_schema.COLUMNS
WHERE
TABLE_SCHEMA = 'db_name'
AND TABLE_NAME = 'table_name'
AND COLUMN_NAME = 'column_name'
2
SELECT * FROM information_schema.COLUMNS WHERE TABLE_SCHEMA = 'my_table' AND COLUMN_NAME = 'my_column'
如果上面的内容返回0行,那么您知道该列不存在。
1
您可以用这种方式
SHOW columns from `yourtable` where field='yourfield'
1
可以检索字段的存在做...
SELECT *
FROM information_schema.COLUMNS
WHERE
TABLE_SCHEMA = 'your_db_name'
AND TABLE_NAME = 'your_table_name'
AND COLUMN_NAME = 'your_column_name'
...但你根据结果不能添加ALTER
-陈述。 SQL不能做到这一点。
这种逻辑的地方是存储过程或应用程序语言。
0
试试这个
function add_column_if_not_exist($db, $column, $column_attr ="VARCHAR(255) NULL")
{
$exists = false;
$columns = mysql_query("show columns from $db");
while($c = mysql_fetch_assoc($columns)){
if($c['Field'] == $column){
$exists = true;
break;
}
}
if(!$exists){
mysql_query("ALTER TABLE `$db` ADD `$column` $column_attr");
}
}
相关问题
- 1. 在使用功能添加新列表之前检查列表是否存在?
- 2. 在继续之前检查文件列表是否存在?
- 3. 在创建列表之前检查列表是否已经存在
- 4. MySQL,检查列中是否存在SQL列表
- 5. 检查列表中是否存在
- 6. 如何在将列添加到PL/SQL中的现有表之前检查列是否存在?
- 7. LINQ检查是否存在在列表
- 8. 在PHP脚本中插入MySQL DB之前检查值是否存在
- 9. XmlNode检查是否存在chidnodes列表
- 10. 检查python列表中是否存在列表
- 11. 使用SPservices检查列表中是否存在当前用户
- 12. 如何在asp.net中添加之前检查列表框中是否已经存在一个值
- 13. 如何检查数据库中是否存在表或列?
- 14. 在Oracle中创建它之前检查表是否存在
- 15. 使用载有()来检查在列表中存在多个对象的值添加新列表之前?
- 16. C#检查值是否存在于列表<>或不是
- 17. 在将表添加到另一个表之前,检查表中是否存在标识
- 18. DB2:如何查找列表是否存在于表格或表格列表中?
- 19. 如何检查在PL/SQL中运行查询之前列是否存在并且表行数是否收集?
- 20. Outlook 2007 PowerShell脚本来检查地址是否存在于文本列表
- 21. 检查值是否不在列表中
- 22. 检查变量是否在列表中
- 23. 是否可以在视图中添加“检查以前”列?
- 24. 检查是否存在多个mysql表
- 25. 如何检查SQL Server中是否存在表的列表?
- 26. PHP:在截断表之前检查文件是否存在
- 27. 在丢弃之前检查表格是否存在?
- 28. ALTER TABLE sqlite:如何检查列是否存在之前改变表?
- 29. 在显示表列表之前添加文本
- 30. 检查以查看列表是否存在于另一个列表中?
看到这个http://stackoverflow.com/questions/3395798/mysql-check-if-a-column-exists-in-a-table-with-sql – abhinav 2012-03-05 06:51:13