2017-05-30 96 views

回答

2

可以使用DEFAULT功能:

SELECT * 
FROM table 
WHERE IFNULL(column_name, DEFAULT(column_name)) <> DEFAULT(column_name); 
+0

今天學到更多1功能。 –

0

嘗試使用rows.count,這將有助於你知道,如果該表爲空或因此含有相同的值。

0

你可以在MySQL中使用的DEFAULT function

SELECT * FROM grouptable WHERE column_name is NOT NULL and column_name <> DEFAULT(column_name) 
0

您可以使用INFORMATION_SCHEMA.COLUMNS表中查找默認值,包括表的所有定義。

樣品表

CREATE TABLE `Matches` (
    `FootballerName` varchar(100) DEFAULT NULL, 
    `Goal` int(11) DEFAULT '5', 
    `Tournament` varchar(100) DEFAULT NULL 
) ; 

原始數據表

insert into Matches(FootballerName,Goal,Tournament) 
select 'Messi ', 3 ,'La liga' union 
select 'Ronaldo ', 5 ,'UEFA' union 
select 'Surez ', 2 ,'La liga'; 

所需的查詢,以達到所需。

SELECT * FROM Matches WHERE Goal not in(
select COLUMN_DEFAULT from information_schema.COLUMNS where TABLE_NAME='Matches' 
and COLUMN_NAME='Goal'); 

你可以閱讀更多有關「INFORMATION_SCHEMA.COLUMNS」here