检查 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 服务器上实现:

这是一个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%'