@@ -18,15 +18,41 @@ func TestPrimaryKey(t *testing.T) {
1818 assert .Nil (t , err )
1919 primary_key , err := GetPrimaryKey (tree )
2020 assert .Nil (t , err )
21- assert .Equal (t , "ID" , primary_key )
21+ assert .Equal (t , "ID" , primary_key . ColName )
2222
23- sql = `create table t1 (
23+ }
24+ func TestNoPrimaryKey (t * testing.T ) {
25+ sql := `create table t1 (
2426 LastName varchar(255),
2527 FirstName varchar(255),
2628 ID int unique key
2729)`
28- tree , err = Parse (sql )
30+ tree , err : = Parse (sql )
2931 assert .Nil (t , err )
3032 _ , err = GetPrimaryKey (tree )
3133 assert .NotNil (t , err )
3234}
35+
36+ func TestChangePrimaryKeyProperty (t * testing.T ) {
37+ sql := `create table t1 (
38+ LastName varchar(255),
39+ FirstName varchar(255),
40+ ID int primary key
41+ )`
42+
43+ tree , err := Parse (sql )
44+ assert .Nil (t , err )
45+ primary_key , err := GetPrimaryKey (tree )
46+ assert .Nil (t , err )
47+
48+ primary_key .ColumnAtts = append (primary_key .ColumnAtts , "auto_increment" )
49+
50+ sql_actual := String (tree )
51+
52+ sql_expected := `create table t1 (
53+ LastName varchar(255),
54+ FirstName varchar(255),
55+ ID int primary key auto_increment
56+ )`
57+ assert .Equal (t , sql_expected , sql_actual )
58+ }
0 commit comments