@@ -204,22 +204,24 @@ private function getAll() {
204
204
* @return array
205
205
*/
206
206
public function getFields ($ tableName ) {
207
- $ result = $ this ->query ("SELECT column_name, data_type, column_default, is_nullable
208
- FROM information_schema.tables AS t
209
- JOIN information_schema.columns AS c
210
- ON t.table_catalog = c.table_catalog
211
- AND t.table_schema = c.table_schema
212
- AND t.table_name = c.table_name
213
- WHERE t.table_name = ' $ tableName' " );
214
- $ info = array ();
207
+ $ result = $ this ->query ("
208
+ SELECT column_name,data_type,column_default,is_nullable
209
+ FROM information_schema.tables AS t
210
+ JOIN information_schema.columns AS c
211
+ ON t.table_catalog = c.table_catalog
212
+ AND t.table_schema = c.table_schema
213
+ AND t.table_name = c.table_name
214
+ WHERE t.table_name = ' {$ tableName }' " );
215
+ $ pk = $ this ->query ("SELECT * FROM INFORMATION_SCHEMA.KEY_COLUMN_USAGE WHERE TABLE_NAME=' {$ tableName }' " );
216
+ $ info = array ();
215
217
if ($ result ) {
216
218
foreach ($ result as $ key => $ val ) {
217
219
$ info [$ val ['column_name ' ]] = array (
218
220
'name ' => $ val ['column_name ' ],
219
221
'type ' => $ val ['data_type ' ],
220
222
'notnull ' => (bool ) ($ val ['is_nullable ' ] === '' ), // not null is empty, null is yes
221
223
'default ' => $ val ['column_default ' ],
222
- 'primary ' => false ,
224
+ 'primary ' => $ val [ ' column_name ' ] == $ pk [ 0 ][ ' COLUMN_NAME ' ] ,
223
225
'autoinc ' => false ,
224
226
);
225
227
}
0 commit comments