将带有FK的列添加到MySQL 5.6中的现有表

时间:2015-08-19 15:09:42

标签: mysql if-statement alter

大家好日子。希望有人可以帮助我进行实验。

我有一个简单的表格可以满足我的需求,甚至还有一些数据。

CREATE TABLE IF NOT exists main.test (
ID INT(11) NOT NULL, 
NAME varchar(30) NOT NULL, 
DATE_CREATED timestamp NOT NULL, 
PRIMARY KEY (ID));

但是我应该通过添加列FK _来更新此表。

如何检查表格是否已有字段FK_? 如果这样的列不存在,请执行:

ALTER TABLE main.test
ADD COLUMN FK INT(11),
ADD FOREIGN KEY (FK)
REFERENCES test2(ID_test2)

1 个答案:

答案 0 :(得分:0)

因为我使用java决定我的问题是使用ResultSet。

ResultSet set = statement.executeQuery(query);
set.next();
int result = set.getInt(1); //it always return only one row
set.close();

这是我的sql-query:

SELECT COUNT(COLUMN_NAME) FROM information_schema.COLUMNS
WHERE
TABLE_SCHEMA = 'main'
AND TABLE_NAME = 'test'
AND COLUMN_NAME = 'FK";

当我得到结果时,我可以决定我应该使用什么查询。