我正在寻找一种本土的方式来争夺生产数据以用于开发和测试.我已经建立了几个脚本,可以随机编制社会安全号码,转移出生日期,争夺电子邮件等等.但是我遇到了试图扰乱客户名称的隔离墙.我想保留真实姓名,这样我们仍然可以使用或搜索随机字母生成.到目前为止,我所尝试的是构建表中所有姓氏的临时表,然后使用临时表中的随机选择更新客户表.像这样:
DECLARE @Names TABLE (Id int IDENTITY(1,1),[Name] varchar(100))
/* Scramble the last names (randomly pick another last name) */
INSERT @Names SELECT LastName FROM Customer ORDER BY NEWID();
WITH [Customer ORDERED BY ROWID] AS
(SELECT ROW_NUMBER() OVER (ORDER BY NEWID()) AS ROWID, LastName FROM Customer)
UPDATE [Customer ORDERED BY ROWID] SET LastName=(SELECT [Name] FROM @Names WHERE ROWID=Id)
Run Code Online (Sandbox Code Playgroud)
这在测试中运行良好,但完全陷入困境处理大量数据(40K行> 20分钟)
所有这些问题,您如何在保留真实姓名和生产数据的重量的同时争夺客户名称?
更新:永远不会失败,你试图将所有信息都放在帖子中,你会忘记重要的事情.此数据也将用于我们的公开销售和演示环境.一些答案是我试图做的,"切换"名称,但我的问题是字面意思,如何在T-SQL中编码?
如何获取刚刚插入的新记录的自动生成ID?(使用ASP classic和MSSQL 2005)
我不小心删除了PostgreSQL中3个表中的所有记录.我该如何恢复数据?
我正在尝试部署到Heroku但不能,因为默认的sqlite3服务器仍然存在.
检测到Heroku不支持的sqlite3 gem. https://devcenter.heroku.com/articles/sqlite3
在另一个使用Rails 3.2.13的教程中,我能够使用sqlite3作为dev db和Postgres作为生产数据库.Gemfile在Rails 4中看起来有所不同,但我修改它以使其具有:
group :development do
# Use sqlite3 as the database for Active Record
gem 'sqlite3'
end
group :production do
gem 'pg'
end
Run Code Online (Sandbox Code Playgroud)
然后我更改了我的database.yml文件,以便生产部分看起来像这样:
production:
adapter: postgresql
database: my_production_database
pool: 5
timeout: 5000
Run Code Online (Sandbox Code Playgroud)
然后我跑bundle install和rake db:create和rake db:migrate,但我仍然无法推到的Heroku.于是,我就rake db:drop和rake db:create和rake db:migrate,但我仍然得到同样的错误消息.
我错过了什么吗?我还需要做些什么来确保我将Postgres作为我的生产数据库并且能够使用Heroku?
使用subversion 1.5我有分支B,它从分支A分支出来.在两个分支中完成工作之后,我将合并从A到B的变化(svn merge http://path/to/A在B 的工作目录中使用)并得到svn: Target path does not exist.这是什么意思?
我在Zend Framework中做了一些查询,我需要确保在下一种格式中不能进行SQL注入.我可以使用mysql_escape(已弃用)并且不会完成所有工作.如果我尝试使用real_mysql_escape它将无法获取数据库的连接,我无法找到zend_filter将如何解决问题.
我正在做的查询(simplied)有下一个sintaxes:
$db = Zend_Registry::get('db');
$select = "SELECT COUNT(*) AS num
FROM message m
WHERE m.message LIKE '".$username." %'";
$row = $db->fetchRow($select);
Run Code Online (Sandbox Code Playgroud)
使用此框架阻止SQL INJECTION的最佳方法是什么?
在sqlserver中,如何比较日期?例如:
从注册日期= ='1/20/2009'的用户中选择*
(RegistrationDate是日期时间类型)
谢谢
我有一个定期运行的方法来优化我的应用程序的SQL Server Compact Edition(3.5)数据库.现有代码使用Shrink()方法:
SqlCeEngine engine = new SqlCeEngine(dbConnectionString);
engine.Shrink();
Run Code Online (Sandbox Code Playgroud)
今天我注意到还有一个Compact()方法.哪个更适合定期维护?
我收到错误
FATAL: could not create lock file "postmaster.pid": Permission denied
Run Code Online (Sandbox Code Playgroud)
当试图执行命令
pg_ctl restart --pgdata "D:\Program Files\PostgreSQL\8.3\data"
Run Code Online (Sandbox Code Playgroud)
postgres用户对D:\,D:\ Program Files \,D:\ Program Files\PostgreSQL \和D:\ Program Files\PostgreSQL\8.3\data的完全权限已设置.我还需要做什么?
是否有任何函数来检查组中的列是否包含NULL,或者我将如何解决这个问题?下面的数据结构示例.
id | value
----------
1 | NULL
1 | 56
2 | 98
2 | 14
Run Code Online (Sandbox Code Playgroud)
结果:
id | value
----------
1 | 1
2 | 0
Run Code Online (Sandbox Code Playgroud) sql ×5
postgresql ×4
sql-server ×4
asp-classic ×1
database ×1
heroku ×1
merge ×1
mysql ×1
php ×1
privacy ×1
scramble ×1
sqlite ×1
svn ×1
t-sql ×1