mysql - 检查mysql中是否存在列
问题描述
如何检查表中是否存在列,如果不存在则添加?(我使用的是mysql)
IF EXISTS(SELECT * FROM sys.columns
WHERE Name = N'columnName' AND OBJECT_ID = OBJECT_ID(N'tableName'))
BEGIN
PRINT 'Your Column Exists'
END
这是一个示例。我从网上得到的结果是旧版本的 mysql。我需要最新版本的答案(mysql server 2019 及更高版本)。我该如何解决?
解决方案
information_schema
您可以从数据库中访问此类信息。它包含一个columns
表。
该information_schema
数据库是 ISO SQL 的一部分,并在所有 SQL 服务器上实现:
- MySQL ( COLUMNS表)
- SQL Server(COLUMNS表)
- PostgreSQL(列表)
这是一个便携式查询:
SELECT count(*) FROM information_schema.columns
WHERE table_schema = 'thedatabase'
AND table_name = 'thetable'
AND column_name = 'thecolumn';
推荐阅读
- java - 如何为 VBox 的子级设置不同的高度
- r - 并非所有带有 addPolylines 的空间线都显示在 Leaflet 中
- javascript - 自动检查日期复选框
- c - ipset - 如何将所有 setnames 添加到 C 中的数组中,例如 shell 命令:“ipset --list -n”
- django - Postgresql 由于并发更新而无法序列化访问,如何找出原因
- powershell - 如何使用 UiPath 将参数传递给 Powershell 脚本
- azure-cognitive-search - 如何获得天蓝色搜索找到匹配项的确切部分
- python-3.x - Object() 不带参数
- amazon-web-services - 支持 AWS 成员账户
- php - Php 代码执行两次并导致“Constant allready defined”错误