Tad, а если будет ООО "О'Кул"? Или ПБОЮЛ Д'Артаньян?
Этот топик читают: Гость
Ответов: 5446
Рейтинг: 323
|
|||
карма: 1 |
|
Ответов: 952
Рейтинг: 4
|
|||
Tad
Огромное спасибо за приведенные примеры. Я так понимаю что это один из наиболее простых методов запрета ввода "вредных" символов. Непременно изменю свою схему. |
|||
карма: 0 |
|
Ответов: 16884
Рейтинг: 1239
|
|||
iarspider писал(а): Tad, а если будет ООО "О'Кул"? Или ПБОЮЛ Д'Артаньян? Апостроф - это апостроф, а одиночная кавычка - это одиночная кавычка. А когда пишущих машинок с украинским шрифтом небыло, то вместо Iван печатали 1ван. А некоторые вместо Иванов могут напечатать Ивонов. Ну и что ? no_problems.png |
|||
карма: 25 |
| ||
файлы: 1 | no_problems.png [11.1KB] [674] |
Ответов: 952
Рейтинг: 4
|
|||
Возникла необходимость добавить в таблицу БД еще 1 столбец.
Добавил. Свойство - текст. Возникла проблема при внесении изменений в записи. Именно в старые записи. Если пробовать вносить изменения в записи внесенные уже после появления в таблице нового столбца то все ок. Т.е. навожусь в стрингтабле на апись, жму редактировать - дочернее окно Редактирование - и для старых записей оно пустое, а для новых все ок. Я так понимаю что БД сносит крышу из зи "абсолютной пустоты" значений в новом столбце на старых записях? Как исправить? Создавал командой - ALTER TABLE имя_таблицы ADD название_столбца тип_данных |
|||
карма: 0 |
|
Ответов: 16884
Рейтинг: 1239
|
|||
user_asm, там в разных версиях по разному, но где-то встречал, что после ALTER TABLE имя_таблицы ADD название_столбца тип_данных нужно вроде обязательно выполнить VACUUM.
|
|||
карма: 25 |
|
Ответов: 952
Рейтинг: 4
|
|||
Вакуум не помог
Можно каким то образом в столбце выставить везде одинаковые данные? |
|||
карма: 0 |
|
Ответов: 16884
Рейтинг: 1239
|
|||
UPDATE <имя таблицы> SET <имя колонки>='aaaaa';
Справка по SQLite писал(а): После выполнения ADD COLUMN, база данных не будет читаться SQLite версии 3.1.3 и ниже, до применения команды VACUUM. |
|||
карма: 25 |
| ||
Голосовали: | user_asm |
Ответов: 952
Рейтинг: 4
|
|||
Отлично. Прокатило. Решил поставить дату добавления нового столбца во все ячейки.
Tad, как всегда огромное спасибо за помощь. ------------ Дoбавленo в 11.24: А еще такой вопрос есть - передвинуть новый столбец можно? Т.е. передвинуть его в нужное место таблицы, т.к. он добавился, естественно, в конец таблицы. |
|||
карма: 0 |
|
Ответов: 16884
Рейтинг: 1239
|
|||
В SQLite столбец просто не передвинуть.
Только так: 1. Создать временную таблицу с нужным расположением столбцов. или так (всего за пять ходов ) 2. Скопировать записи в временную новую таблицу: INSERT INTO <временная новая таблица> SELECT <перечислить столбцы в нужном порядке> FROM <старая таблица>; 3. Удалить старую таблицу: DROP TABLE <старая таблица>; 4. Создать таблицу со старым названием, но с новым расположением столбцов. 5. INSERT INTO <вновь созданную таблицу со старым названием> SELECT * FROM <временная новая таблица>; 6. DROP TABLE <временная новая таблица>; 7. VACUUM; 1. Переименовать старую таблицу: ALTER TABLE <имя таблицы> RENAME TO <aaaaaaaaaaa>; 2.Создать таблицу со старым названием, но с новым расположением столбцов. CREATE TABLE <старое название>(<перечислить столбцы в нужном порядке>); 3. Скопировать записи : INSERT INTO <старое название> SELECT <перечислить столбцы в нужном порядке> FROM <aaaaaaaaaaa>; 4. Удалить <aaaaaaaaaaa> таблицу: DROP TABLE <aaaaaaaaaaa>; 5. VACUUM |
|||
карма: 25 |
|
Ответов: 16884
Рейтинг: 1239
|
|||
карма: 25 |
| ||
Голосовали: | user_asm, Konst |
Ответов: 1328
Рейтинг: 69
|
|||
Tad, а подскажи как увеличить текущее значение поля типа time на 1 секунду?
UPDATE temp SET time='time+1' |
|||
карма: 2 |
|
Ответов: 16884
Рейтинг: 1239
|
|||
Konst, какой тип поля time (text,real,integer) и что ты туда пишешь и в каком формате?
В смысле дату полностью в формате Y-M-D h:m:s, только время (h:m:s) и т.д. Если в real (формат WINDOWS), то UPDATE temp SET time=time+1/86400; Если в integer (формат UNIX), то UPDATE temp SET time=time+1; Вопрос конкретней нужно поставить. |
|||
карма: 25 |
|
Ответов: 1328
Рейтинг: 69
|
|||
Tad писал(а): какой тип поля time (text,real,integer) и что ты туда пишешь и в каком формате?В смысле дату полностью в формате Y-M-D h:m:s, только время (h:m:s) тип поля time формат h:m:s
|
|||
карма: 2 |
| ||
файлы: 1 | code_25790.txt [178B] [278] |
Ответов: 16884
Рейтинг: 1239
|
|||
|
|||
карма: 25 |
| ||
Голосовали: | Konst |
Ответов: 1328
Рейтинг: 69
|
|||
Tad, спасибо, то что нужно
|
|||
карма: 2 |
|