LINUX.ORG.RU
решено ФорумAdmin

Не могу сделать Insert

 


0

1
mysql> select version() \G
*************************** 1. row ***************************
version(): 5.7.23-0ubuntu0.18.04.1
1 row in set (0.00 sec)

mysql> show create table server_ini \G
*************************** 1. row ***************************
       Table: server_ini
Create Table: CREATE TABLE `server_ini` (
  `key` varchar(255) NOT NULL,
  `value` text,
  `desc` text,
  `change_date` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  `author` varchar(255) NOT NULL DEFAULT 'admin',
  PRIMARY KEY (`key`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8
1 row in set (0.00 sec)

mysql> insert into server_ini (`value`) values('true') where `key`='UPnP';
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'where `key`='UPnP'' at line 1

Что я делаю не так? Ну, кроме того, что использовал служебные слова в качестве имен полей.

Но дело не в именах. Упростим:

mysql> show create table test \G
*************************** 1. row ***************************
       Table: test
Create Table: CREATE TABLE `test` (
  `field1` varchar(255) NOT NULL,
  `field2` text
) ENGINE=InnoDB DEFAULT CHARSET=latin1
1 row in set (0.00 sec)

mysql> insert into `test` (`field1`) values('somevalue');
Query OK, 1 row affected (0.07 sec)

mysql> insert into `test` (`field2`) values('anothervalue') where `field1`='somevalue';
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'where `field1`='somevalue'' at line 1

slowpony ★★★ ()
Ответ на: комментарий от slowpony

Поймите правильно. Вам не стоит писать сикул запросы, пока не подтяните теорию. Без понимания что именно ты делаешь, слишком легко навернуть данные. И хорошо когда это всплывает сразу и есть возможность откатиться, гораздо хуже когда недостоверность данных выплывает по прошествии большого времени, и еще хуже когда не выплывает но на основе уже не достоверных данных принимаются решения.

anc ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.