И не надо вставлять null очевидно подразумевая дефолтное значение. Если необходимо дефолтное значение - не указывайте такое поле в insert
Кажется, если указать null, то вставляется именно null а не умолчательное значение (ну за исключением автоинкрементного поля)?
З.Ы.
Да, сейчас проверил, именно так:
Если в селекте есть count и нет group by, то кажется возвращается всегда одна запись?
А вообще такие непонятки отлаживать - вместо (или дополнительно к) запросу сам запрос распечатывать. Типа так:
(?=(\d\d\d)+) # , у которых количество цифр справа кратно трем
Может, так: (?=(\d\d\d)+(\D|$)) # , у которых количество цифр справа кратно трем
Т.е. количество цифр кратно трем, когда после одной или нескольких троек идет не цифра или вообще ничего нет, а у вас такой проверки нет, т.е. проверятеся что есть хотя бы одна тройка, а что дальше - не важно
Как видно, в функции есть return не всегда, а в зависимости от if. Могу предположить, что return не нужен, если все ОК, а нужет был только для отладки.
как выдно, 1. значения совпадают 2. даже в загловке выдно, что это одно и то же поле (кстати, чтобы включить вывод заголовка в SQLite, дайте команду .header on, по умолчанию заголовки не выводятся)
Продолжим эксперименты, теперь создадим поле без AUTOINCREMENT
Как видим, результат изменился, т.е. теперь id и rowid - два разных поля.
Т.е. резюме, поле rowid создается не всегда иногда это просто другое имя длы уже имеющегося поля. Когда конкретно? Тут есть некая магия, порой противоречащая здравому смыслу, надо просто заучить, либо пробовать и смотреть что получается (как пробовать я показал). (Добавление)
tonchikp пишет:
Может лучше так:
Чтобы ответить на этот вопрос, нужно посмотреть на всю задачу целиком, а не только на структуру таблицы. Но, (мое скромное ИМХО) скорее всего нет, не лучше. Если поле id нужно, (где-то еще используется) то оставьте как есть. А если не нужно - можно его и убрать, физически таблица останется точно такая же. Но неявное поле rowid по умолчанию заводится не случайно, так в данной конкретной СУБД опримизированы индексы, что с ним лучше. Не претендую на истину в последней инстанции.
The foreach construct does not operate on the array itself, but rather on a copy of it.
You can insert or delete elements in the body of a foreach loop, safe in the knowledge
that the loop won’t attempt to process the deleted or inserted elements.
А разве внутри foreach можно из массива что-то удалять?
Если передавать в цикл значение по ссылке, то можно.
Разве??
Если передавать ЗНАЧЕНИЕ по ссылке то можно ЗНАЧЕНИН и менять (т.е. ключ остается тот же, значение становится другим), но нельзя делать что-либо, что меняет ключи, т.е. добавлять или удалять элементы. А в примере как раз было удаление.
38-я строчка - а почему одинарные кавычки в конце двоятся? (к нотису эта ошибка отношения не имеет)
А нотис из-за того, что индекс действительно не определен, что показывают 33-я и 34 строчки.
P.S.
Кстати, вставка напрямую значений, полученных от клиента в SQL-ные селекты (типа ... WHERE name='$_POST[Login]') может быть дыркой в безопасности. Используйте хотя-бы addslashes()
Вот есть пользователь, у него есть имя, пароль и всякие разные права. Нужно изменить ему имя, но сохранить все остальное. Возможно ли это? Конечно, можно завести нового пользователя с новым нужным именем и дать ему те же права, а старого удалить, но может есть способ проще? В phpMyAdmin такой возможности не нашел, а через консоль команды давать боюсь даже пытаться.
Ну вот зашел я в телнет, сказал open mysite 80 и дальше все что я пишу, уже запрос (т.е. я хочу написать что-то типа 'GET / HTTP/1.1' и он отображает это поверх уже написанных нескольких строк. И где ему сказать cls??
htmaker пишет:
Как насчет браузера и его консоли (Ctrl+F12 -> вкладка Сеть)? Если речь идет об HTTP протоколе.
И как мне там сделать запрос? Не посмотреть что получил браузер, а самому руками запрос набрать? (Добавление)
Ch_chov пишет:
Или Postman
Я хочу простенькую консольную программу, а не "A powerful GUI platform to make your API development faster & easier". Чем такое навороченное устанавливать, проще самому написать. Просто подумал, что наверняка уже есть готовая, зачем изобретать велосипед, вот и пытаюсь найти, пока безуспешно.