检查 mysql 中是否存在列
Check if a column exists in mysql
如何检查 table 中是否存在一列,如果不存在则添加一列?(我使用的是 mysql)
IF EXISTS(SELECT * FROM sys.columns
WHERE Name = N'columnName' AND OBJECT_ID = OBJECT_ID(N'tableName'))
BEGIN
PRINT 'Your Column Exists'
END
这是一个示例 one.The 我从网上得到的结果是 mysql 的旧版本。我需要最新版本(mysql服务器2019及以上版本)的答案。我该如何解决?
您可以从 information_schema
数据库访问此类信息。它包含一个 columns
table.
information_schema
数据库是 ISO SQL 的一部分,并在所有 SQL 服务器上实现:
- MySQL (COLUMNS table)
- SQL Server (COLUMNS table)
- PostgreSQL (COLUMNS table)
这是一个table查询:
SELECT count(*) FROM information_schema.columns
WHERE table_schema = 'thedatabase'
AND table_name = 'thetable'
AND column_name = 'thecolumn';
您可以使用以下查询
SHOW COLUMNS FROM table_name LIKE '%column_name%'
如何检查 table 中是否存在一列,如果不存在则添加一列?(我使用的是 mysql)
IF EXISTS(SELECT * FROM sys.columns
WHERE Name = N'columnName' AND OBJECT_ID = OBJECT_ID(N'tableName'))
BEGIN
PRINT 'Your Column Exists'
END
这是一个示例 one.The 我从网上得到的结果是 mysql 的旧版本。我需要最新版本(mysql服务器2019及以上版本)的答案。我该如何解决?
您可以从 information_schema
数据库访问此类信息。它包含一个 columns
table.
information_schema
数据库是 ISO SQL 的一部分,并在所有 SQL 服务器上实现:
- MySQL (COLUMNS table)
- SQL Server (COLUMNS table)
- PostgreSQL (COLUMNS table)
这是一个table查询:
SELECT count(*) FROM information_schema.columns
WHERE table_schema = 'thedatabase'
AND table_name = 'thetable'
AND column_name = 'thecolumn';
您可以使用以下查询
SHOW COLUMNS FROM table_name LIKE '%column_name%'