没有明显的理由(对我来说)我不能再对MySQL中的表进行更新了。版本是:
mysql Ver 15.1 Distrib 10.0.29-MariaDB, for debian-linux-gnu (x86_64) using readline 5.2
我所做的是:将一个新表添加到现有的数据库中。这张桌子是这样的:
CREATE TABLE `drawdata` (
`year` int(11) NOT NULL,
`left1` varchar(40) NOT NULL,
`left2` varchar(40) NOT NULL,
...
...
`left31` v
当且仅当数据库中不存在该数据时,我正尝试插入新数据,如果该数据存在,只需中断插入操作并获取下一项,然后尝试再次检查并插入,我希望是这样的:
insert into db if field_id doesnot exist, if exist, dont touch anything, neither update nor anything
ON DUPLICATE KEY UPDATE不是我想要的,而INSERT IGNORE现在对我来说似乎很神秘
这是我的尝试:
$check = "SELECT anzeige_id FROM table WHERE anzeige_id =
我有一个包含i(主)、s和g列的mysql表。我有两个问题:
INSERT INTO usertable (i, s, g) VALUES('1', '2', '5') ON DUPLICATE KEY SET s=(s*g+'2')/(g+'5'), g=g+'5';
和
SELECT s FROM usertable WHERE i='1' LIMIT 1
是否可以在1查询中同时使用这两个查询?基本上是想减少DB查询的数量。
谢谢
我快失明了..。在此SQL中似乎找不到错误:
INSERT INTO sankt_groups_order (
parent_group_id,
child_group_id,
order
) VALUES (?,?,?)
ON DUPLICATE KEY UPDATE
order = ?
;
我得到了这个错误:
SQLSTATE[42000]: Syntax error or access violation:
1064 You have an error in your SQL syntax; check the manual that
我有以下问题:
这是我在MySQL中的代码:
create table fremd(
id int primary key,
name varchar(20),
foreign key(id) references mensch(id) on delete set null
);
id是该表的主键,也是引用表mensch的主键的外键。问题是on delete set null语句。当我使用级联而不是set null时,它可以工作。但是对于set null,它不起作用。我能做什么?
这是错误消息:
08:39:00错误代码: 1215。无法添加外键约束2.609秒
我需要在MySQL中保持一个任务队列。当从DB读取它们时,我必须确保顺序与持久化的顺序完全相同。一般来说,我更喜欢与DB无关的解决方案(即纯JPA),但是添加一些Hibernate和/或MySQL的味道也是可以接受的。
我的(可能是天真的)第一个版本看起来如下:
em.createNamedQuery("MyQuery", MyTask.class).setFirstResult(0).setMaxResults(count).getResultList();
其中,MyQuery没有任何"order“子句,即它看起来如下:
SELECT t FROM MyTasks
我很难在关系数据库中限制输入。以下是情况:
数据库: MySQL
表1:
CREATE TABLE IF NOT EXISTS `manufacturers` (
`id` INT NOT NULL AUTO_INCREMENT,
`name` VARCHAR(45) NOT NULL,
`created_at` DATETIME NULL DEFAULT CURRENT_TIMESTAMP,
`updated_at` DATETIME NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
PRIMARY K
我将计算作为java中传递给MySql引擎的准备语句所提供的查询所影响的行数。
考虑到下面传递给准备语句的示例查询,我需要能够计算受所有查询影响的行总数。
//insert data into table X ;
//update records of table X ;
查询由";“分隔,这是MySql语法的一部分,用于支持对特定PreparedStatement对象的几个CRUD操作。似乎在调用"executeUpdate()“方法时,即只返回受第一个查询影响的行数,即对表的插入。我是否遗漏了一些我应该提供的内容,以获取该查询中受影响的总行数?
下面是我正在处理的实际代码示
我已经找到了避免重复错误的插入方法。
参考文献:
INSERT INTO table_listnames (name, address, tele)
SELECT * FROM (SELECT 'Unknown' AS name, 'Unknown' AS address, '022' AS tele) AS tmp
WHERE NOT EXISTS (
SELECT name FROM table_listnames WHERE name = 'Unknown'
) LIMIT 1;
Query OK, 1 row a