Commit 2d8d399
authored
In MySQL, a compound `PRIMARY KEY` can have an `AUTOINCREMENT` column,
when it is the first column in the key.
SQLite doesn't support this, but we can emulate it as follows:
1. Keep only the first column as a `PRIMARY KEY`.
Since this is the column that also has `AUTOINCREMENT`, it reasonable to
assume that its values are unique.
3. Create a `UNIQUE` key for all the `PRIMARY KEY` columns.
This is to preserve the index of the compound key.
The actual fix is best viewed in [the second
commit](c6074c6).
1 parent 22203ee commit 2d8d399
2 files changed
Lines changed: 95 additions & 37 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
4125 | 4125 | | |
4126 | 4126 | | |
4127 | 4127 | | |
4128 | | - | |
4129 | | - | |
4130 | | - | |
| 4128 | + | |
4131 | 4129 | | |
4132 | | - | |
| 4130 | + | |
| 4131 | + | |
| 4132 | + | |
| 4133 | + | |
| 4134 | + | |
| 4135 | + | |
| 4136 | + | |
| 4137 | + | |
| 4138 | + | |
| 4139 | + | |
| 4140 | + | |
| 4141 | + | |
| 4142 | + | |
| 4143 | + | |
| 4144 | + | |
| 4145 | + | |
| 4146 | + | |
| 4147 | + | |
| 4148 | + | |
| 4149 | + | |
| 4150 | + | |
| 4151 | + | |
| 4152 | + | |
| 4153 | + | |
| 4154 | + | |
| 4155 | + | |
| 4156 | + | |
| 4157 | + | |
| 4158 | + | |
| 4159 | + | |
| 4160 | + | |
| 4161 | + | |
| 4162 | + | |
| 4163 | + | |
| 4164 | + | |
| 4165 | + | |
| 4166 | + | |
| 4167 | + | |
| 4168 | + | |
| 4169 | + | |
| 4170 | + | |
| 4171 | + | |
| 4172 | + | |
| 4173 | + | |
| 4174 | + | |
| 4175 | + | |
| 4176 | + | |
| 4177 | + | |
| 4178 | + | |
| 4179 | + | |
| 4180 | + | |
| 4181 | + | |
| 4182 | + | |
| 4183 | + | |
4133 | 4184 | | |
4134 | 4185 | | |
4135 | 4186 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
5605 | 5605 | | |
5606 | 5606 | | |
5607 | 5607 | | |
| 5608 | + | |
| 5609 | + | |
| 5610 | + | |
| 5611 | + | |
| 5612 | + | |
| 5613 | + | |
| 5614 | + | |
| 5615 | + | |
| 5616 | + | |
| 5617 | + | |
| 5618 | + | |
5608 | 5619 | | |
5609 | 5620 | | |
| 5621 | + | |
| 5622 | + | |
| 5623 | + | |
| 5624 | + | |
| 5625 | + | |
| 5626 | + | |
| 5627 | + | |
| 5628 | + | |
| 5629 | + | |
| 5630 | + | |
| 5631 | + | |
5610 | 5632 | | |
5611 | | - | |
5612 | | - | |
| 5633 | + | |
| 5634 | + | |
| 5635 | + | |
| 5636 | + | |
| 5637 | + | |
| 5638 | + | |
5613 | 5639 | | |
5614 | 5640 | | |
| 5641 | + | |
| 5642 | + | |
| 5643 | + | |
| 5644 | + | |
| 5645 | + | |
| 5646 | + | |
| 5647 | + | |
5615 | 5648 | | |
5616 | 5649 | | |
5617 | | - | |
5618 | | - | |
5619 | | - | |
5620 | | - | |
5621 | | - | |
5622 | | - | |
5623 | | - | |
5624 | | - | |
5625 | | - | |
5626 | | - | |
5627 | | - | |
5628 | | - | |
| 5650 | + | |
5629 | 5651 | | |
5630 | 5652 | | |
5631 | 5653 | | |
5632 | 5654 | | |
5633 | 5655 | | |
5634 | 5656 | | |
5635 | 5657 | | |
5636 | | - | |
5637 | | - | |
| 5658 | + | |
| 5659 | + | |
5638 | 5660 | | |
5639 | 5661 | | |
5640 | | - | |
| 5662 | + | |
| 5663 | + | |
5641 | 5664 | | |
5642 | | - | |
5643 | | - | |
5644 | | - | |
5645 | | - | |
5646 | | - | |
5647 | | - | |
5648 | | - | |
5649 | | - | |
5650 | | - | |
5651 | | - | |
5652 | | - | |
5653 | | - | |
5654 | | - | |
5655 | | - | |
5656 | | - | |
5657 | | - | |
5658 | 5665 | | |
5659 | 5666 | | |
5660 | 5667 | | |
| |||
0 commit comments