|
|
|
| Таблица создана запросом
id INT(11) NOT NULL AUTO_INCREMENT,
bot TEXT,
PRIMARY KEY(id)
|
Если я правильно понимаю, то эта таблица состоит из двух столбцов: столбец id и столбец bot . При этом в столбей id информацию заносить не надо, ибо там будет автоматически записываться номер страки.
Так или не так?
Теперь я хочу внести в таблицу пробную запись. Я делаю это так:
$query = "INSERT INTO bot VALUES ('Проба-ProBA')";
mysql_query($query);
| И получаю сообщение
1136: Column count doesn't match value count at row 1
Что здесь неверно?
Может, надо писать
$query = "INSERT INTO bot VALUES ('', 'Проба-ProBA')";
|
| |
|
|
|
|
|
|
|
для: Владимир55
(02.02.2009 в 17:52)
| | >Таблица создана запросом
>
id INT(11) NOT NULL AUTO_INCREMENT,
> bot TEXT,
> PRIMARY KEY(id)
|
>Если я правильно понимаю, то эта таблица состоит из двух столбцов: столбец id и столбец bot . При этом в столбей id информацию заносить не надо, ибо там будет автоматически записываться номер страки.
>
>Так или не так?
не так.
автоматикой можно пользоваться, можно не пользоваться.
Если есть желание указать не все значения, нужно явно перечислить имена заполняемых колонок в списке
(перед VALUES) согласно синтаксиса оператора. | |
|
|
|
|
|
|
|
для: Trianon
(02.02.2009 в 17:57)
| | Я не пойму, как поступать с колонкой id.
По идее, вписывать мне туда нечего. Но если пропустить эту колонку, то число записей делается меньше числа колонок - и это не годится. Может, на место соответствующей этой колонке информации писать две одинарные кавычки? | |
|
|
|
|
|
|
|
для: Владимир55
(02.02.2009 в 18:10)
| | INSERT INTO bot (bot) VALUES ('Проба-ProBA')
Синтаксис запроса надо читать.
не стоит давать одинаковые названия таблице и полю. Запутаетесь. | |
|
|
|
|
|
|
|
для: Trianon
(02.02.2009 в 18:16)
| | "не стоит давать одинаковые названия таблице и полю. Запутаетесь"
Так получилось. Это я пока что для пробы.
"INSERT INTO bot (bot) VALUES ('Проба-ProBA')"
Означает ли это, что все таблицы, содержащие поле AUTO_INCREMENT, придется заполнять только таким образом, указывая перед VALUES все остальные поля? | |
|
|
|
|
|
|
|
для: Владимир55
(02.02.2009 в 18:22)
| | можно применить значение NULL, но на мой взгляд, это худший вариант.
Хотя бы потому, что скрипт начинает опираться на определенный порядок полей в таблице.
Я список полей указываю во всех случаях. Даже если он полон и по порядку структуры. | |
|
|
|
|
|
|
|
для: Trianon
(02.02.2009 в 18:28)
| | Вот оно как! Не просто...
Тогда и я их буду перечислять. Ибо лучше сразу заложить твердый порядок, чем потом выискивать причины сбоев в работающем скрипте.
Однако замечу, что и так тоже сработало:
$query = "INSERT INTO bot VALUES ('', 'Проба-ProBA')";
|
| |
|
|
|
|
|
|
|
для: Владимир55
(02.02.2009 в 18:41)
| | такая форма может и не сработать, если сервер настроен более жестко, и не воспринимает строки там, где нужны числа. | |
|
|
|