|
Rename Column и View
|
|||
---|---|---|---|
#18+
Ошибки при этом не возникает Возможно потому, что pragma foreign_keys --> 0. авторInteger Unsigned В Unsigned смысла нет. Более того при таком задании PK не будет использоваться как rowid (только при INTEGER PRIMARY KEY), что несколько медленнее. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.09.2021, 12:28 |
|
Rename Column и View
|
|||
---|---|---|---|
#18+
little-brother Ошибки при этом не возникает Возможно потому, что pragma foreign_keys --> 0. Прагма тут абсолютно ни при чем. Я использую эту прагму только при пересоздании таблицы и только в случае наличия в ней первичного или внешних ключей. В скрипте по созданию таблицы с нуля ее нет ... |
|||
:
Нравится:
Не нравится:
|
|||
27.09.2021, 13:08 |
|
Rename Column и View
|
|||
---|---|---|---|
#18+
little-brother, я сейчас ищу информацию по Unsigned. C первичными ключами все понятно, но я никак не могу понять, стоит ли вообще использовать его в SQLite? Есть один официальный тип Unsigned Big Int, но действительно ли он Unsigned или это тоже эмуляция? Ничего конкретного пока найти не могу ... |
|||
:
Нравится:
Не нравится:
|
|||
27.09.2021, 16:33 |
|
Rename Column и View
|
|||
---|---|---|---|
#18+
У SQLite всего 5 типов: NULL, FLOAT (он же REAL), (signed) INTEGER (несколько штук: INT8, INT16, ...), TEXT и BLOB. Все остальные типы транслируются в эти. В скрипте по созданию таблицы с нуля ее нет По умолчанию значение этой прагмы 0, т.е. выполняя скрипт создания таблицы с настройками по умолчанию, SQLite не будет проверять внешние ключи. Возможно он не будет проверять и при включенной прагме, мне лень протестировать :) ... |
|||
:
Нравится:
Не нравится:
|
|||
27.09.2021, 18:55 |
|
Rename Column и View
|
|||
---|---|---|---|
#18+
little-brother, то есть, я могу с чистой совестью совсем избавиться от Unsigned в скриптах SQLite? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.09.2021, 19:08 |
|
Rename Column и View
|
|||
---|---|---|---|
#18+
Да. В SQLite эти типы скорее как подсказка, нежели как руководство к действию. Так в численное поле без проблем можно положить текст. Оно работает только при сохранении, напр. строка `111` может быть приведена к 111, а вот `111a` уже будет сохранено как текст в числовую колонку. В других базах вы получите ошибку. С версии 3.37 обещают специальный режим strict, когда значения обязаны следовать типу колонки. В любом случае, использование всяких VARCHAR, CHAR, UNSIGNED INT, NUMERIC - это просто для удобства, например при миграции с других баз. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.09.2021, 19:22 |
|
Rename Column и View
|
|||
---|---|---|---|
#18+
little-brother, вот образец моего скрипта для создания таблицы. Специально для чистоты эксперимента включил поддержку внешних ключей. Проверил на пустой базе. Ошибок нет. Разумеется, такой скрипт будет отрабатываться в пакете скриптов для создания базы с нуля. Для изменения существующих таблиц я в начале скрипта выключаю поддержку и включаю ее обратно в конце Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. 126. 127. 128. 129. 130. 131. 132. 133. 134. 135. 136.
... |
|||
:
Нравится:
Не нравится:
|
|||
27.09.2021, 19:23 |
|
|
start [/forum/topic.php?fid=54&startmsg=40100176&tid=2008325]: |
0ms |
get settings: |
11ms |
get forum list: |
6ms |
check forum access: |
1ms |
check topic access: |
1ms |
track hit: |
35ms |
get topic data: |
6ms |
get forum data: |
1ms |
get page messages: |
208ms |
get tp. blocked users: |
1ms |
others: | 343ms |
total: | 613ms |
0 / 0 |