我有一个带有列的表,让我们调用table_column当前null表的所有行.我想将值"test"插入到所有行的列中.有人可以给我这个SQL吗?
我已经尝试了, INSERT INTO table (table_column) VALUES ("test");但只填充了最后一行.如何一次完成所有行?
如何判断MySQL UPDATE成功与实际更新的数据?
例:
TABLE
id city_name
1 Union
2 Marthasville
Run Code Online (Sandbox Code Playgroud)
如果我运行以下内容:
$data = array('city_name', 'Marthasville');
//update record 2 from Marthasville to the same thing, Marthasville.
$this->db->where('id', 2);
$this->db->update('table', $data);
if($this->db->affected_rows() > 0)
{
//I need it to return TRUE when the MySQL was successful even if nothing was actually updated.
return TRUE;
}else{
return FALSE;
}
Run Code Online (Sandbox Code Playgroud)
这将在TRUE每次UPDATE语句成功时返回,但在没有实际更新行时返回FALSE.
TRUE每次成功执行UPDATE语句时,我都需要它返回,即使它实际上没有更改任何记录.
我有一个需要更新mysql数据库的python脚本,到目前为止:
dbb = MySQLdb.connect(host="localhost",
user="user",
passwd="pass",
db="database")
try:
curb = dbb.cursor()
curb.execute ("UPDATE RadioGroups SET CurrentState=1 WHERE RadioID=11")
print "Row(s) were updated :" + str(curb.rowcount)
curb.close()
except MySQLdb.Error, e:
print "query failed<br/>"
print e
Run Code Online (Sandbox Code Playgroud)
该脚本Row(s) were updated :使用正确的行数打印,其行数为RadioID11.如果我将其更改RadioID为表中不存在的另一个数字,它将说明Row(s) were updated :0.但是,数据库实际上并未更新.该CurrentState领域保持不变.如果我将SQL语句复制并传递给PHPMyAdmin,它可以正常工作.
我想用其他表中的其他列更新我的列.在这样做之前,我想首先使我的列(整数)无效.但是,下面的代码不起作用.(column_a:bigint; column_b:text)
UPDATE table1
SET column_a IS NULL
WHERE column_b = 'XXX';
Run Code Online (Sandbox Code Playgroud)
错误:"ISNULL"或附近的语法错误
我有一张桌子,里面有大约17个田地.我需要在此表中执行频繁更新.但问题是每次我只更新几个字段.什么是在这种情况下编写查询以进行更新的最佳方法?我正在寻找一个选项,只有当它不为null时才会更新值.
例如,我在数据库Say A,B,C,D中有四个字段.用户更新说D的值.所有其他值保持不变.所以我想要一个更新查询,它只更新D的值,保持其他人不变.所以如果我把a,b和c作为null并且d与用户提供的值我想写一个更新查询,它只更新d的值为a,b和c为null.这是可以实现的吗?
我正在使用SQLite数据库.
有人可以请一些光吗?
我正在UPDATE table SET column1 = 0Postegres 8.4上尝试一个简单的约300万行的桌子,但它需要永远完成.它已运行超过10分钟.现在是我的最后一次尝试.
以前,我试图在该表上运行VACUUM和ANALYZE命令,我也尝试创建一些索引(虽然我怀疑这会在这种情况下有所不同)但似乎没有任何帮助.
还有其他想法吗?
谢谢,里卡多
更新:
这是表结构:
CREATE TABLE myTable
(
id bigserial NOT NULL,
title text,
description text,
link text,
"type" character varying(255),
generalFreq real,
generalWeight real,
author_id bigint,
status_id bigint,
CONSTRAINT resources_pkey PRIMARY KEY (id),
CONSTRAINT author_pkey FOREIGN KEY (author_id)
REFERENCES users (id) MATCH SIMPLE
ON UPDATE NO ACTION ON DELETE NO ACTION,
CONSTRAINT c_unique_status_id UNIQUE (status_id)
);
Run Code Online (Sandbox Code Playgroud)
我想跑 UPDATE myTable SET generalFreq = 0;
我有一个看起来像这样的表:
CREATE TABLE IF NOT EXISTS `Hosts` (
`id` int(128) NOT NULL AUTO_INCREMENT,
`IP` varchar(15) NOT NULL DEFAULT '',
`Port` varchar(5) NOT NULL DEFAULT '',
`Password` varchar(32) NOT NULL DEFAULT '',
`Username` varchar(32) NOT NULL DEFAULT '',
`Tid` varchar(32) NOT NULL DEFAULT '',
`EquipType` varchar(64) NOT NULL DEFAULT '',
`Version` varchar(128) DEFAULT NULL,
`Status` varchar(10) NOT NULL DEFAULT '',
`Location` varchar(128) NOT NULL DEFAULT '',
`Lastconnection` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP,
`Lastbackup` date NOT NULL DEFAULT …Run Code Online (Sandbox Code Playgroud) 我正忙着研究MySQL,我知道更新用于更新表中的记录或行.那么改变的是什么呢?好像它们是一样的.
谢谢,任何帮助将不胜感激.
我需要UPDATE tablename(col1name)
如果已有数据,我需要附加值'a,b,c'如果它是NULL,我需要添加值'a,b,c'
我知道有一个CONCAT参数,但不确定SQL语法是什么.
update tablename set col1name = concat(ifnull(col1name, 'a,b,c'), 'a,b,c')
以上是正确的吗?
UPDATE messages set test_read =1
WHERE userid='xyz'
ORDER BY date_added DESC
LIMIT 5, 5 ;
Run Code Online (Sandbox Code Playgroud)
我试图使用此查询使用限制更新一组5行,但mysql显示错误..下面的一个正在工作
UPDATE messages set test_read =1
WHERE userid='xyz'
ORDER BY date_added DESC
LIMIT 5 ;
Run Code Online (Sandbox Code Playgroud)
为什么第一个不工作?
sql-update ×10
mysql ×6
sql ×6
alter ×2
postgresql ×2
append ×1
codeigniter ×1
database ×1
null ×1
php ×1
python ×1
sql-insert ×1
sqlite ×1
timestamp ×1